<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[importIng的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/importIng</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; importIng]]></copyright><item><title><![CDATA[从零开始的WTL入门教程（7）  创建使用自定义资源控件，使用DDX，自定义DDX]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/104825660</link><guid>https://blog.youkuaiyun.com/importIng/article/details/104825660</guid><author>importIng</author><pubDate>Thu, 12 Mar 2020 19:16:00 +0800</pubDate><description><![CDATA[先介绍一个WTL增强数据交换工具 DDX
DDX是一套类似于MSG_MAP的宏命令，其实质就是简化和统一窗口与数据之间相互传值的调用代码。
使用起来比较简单，举个例子。
首先在需要使用DDX的类中继承CWinDataExchange父类

然后使用DDX命令 将要绑定的控件ID和对应类型的变量进行绑定

当然，要创建ID_TF_FIRST这个资源ID并赋值给之前创建的CEdit;
之后在需要交换数...]]></description><category></category></item><item><title><![CDATA[从零开始的WTL入门教程（6） 可视化布局 ，使用资源文件]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/104825408</link><guid>https://blog.youkuaiyun.com/importIng/article/details/104825408</guid><author>importIng</author><pubDate>Thu, 12 Mar 2020 18:53:22 +0800</pubDate><description><![CDATA[在开发中需要界面有相当繁复但是固定的控件，全部使用动态创建的方式代码量较大，因此也可以通过资源文件拖控件去实现。只需要通过资源直接拖动控件到需要的位置后使用时通过资源ID获取就可以了。节省了大量的布局代码。
以对话框为例实践一下。打开资源视图，右键选择添加资源


对应的类型比较多，功能各样，可以直接百度了解。这里直接使用一个最基本的Dialog 对话框。不用点开加号。

红圈内的ID就是对话框的...]]></description><category></category></item><item><title><![CDATA[从零开始的WTL入门教程（5） WTL的窗口控件布局]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/104825316</link><guid>https://blog.youkuaiyun.com/importIng/article/details/104825316</guid><author>importIng</author><pubDate>Thu, 12 Mar 2020 18:51:10 +0800</pubDate><description><![CDATA[窗口布局
在改变窗口大小时，或者触发控件事件时，有时会需要去改变界面布局。
改变控件位置可以使用 **MoveWindow()**方法
方便使用 先将控件储存为类成员变量
在滚动条滚动中改变按钮的位置
	void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar pScrollBar) {
		int curPos = pScrollBar.GetScro...]]></description><category></category></item><item><title><![CDATA[从零开始的WTL入门教程（4）  基础控件CButton,CEdit,CScrollBar，CComboBox的简介和基本使用]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/104825232</link><guid>https://blog.youkuaiyun.com/importIng/article/details/104825232</guid><author>importIng</author><pubDate>Thu, 12 Mar 2020 18:44:55 +0800</pubDate><description><![CDATA[基础控件
在进一步使用WTL封装控件之前，需要先了解和使用一些基本控件，它们是通用MFC的。
通常给自定义控件添加子控件的过程放置在生命周期方法中的创建消息中。对于CWinodwImpl就是MSG_WM_CREATE

CButton
为FirstWindow创建一个CButton
注意对于一个子控件，需要为其指定父控件的句柄以确定坐标系位置。同时需要设置样式为WS_CHILD或者WS_CHILD...]]></description><category></category></item><item><title><![CDATA[从零开始的WTL入门教程（3）WTL窗口绘图，双重缓冲]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/104825154</link><guid>https://blog.youkuaiyun.com/importIng/article/details/104825154</guid><author>importIng</author><pubDate>Thu, 12 Mar 2020 18:39:47 +0800</pubDate><description><![CDATA[由于WinApi诞生之时还没有Material Design这样美观的视觉表达规范，其系统控件样式相当的匮乏且充满工程师设计风格，因此大多数时候，控件都需要实现自定义绘图，即使只是简单的设置背景颜色。
完成了上面最简单的视窗控件后，我们来给它添加一个背景色。
绘图方法在系统更新控件时被调用。因此它也依赖于消息循环。我们可以在消息的定义文件中找到它。

与OnClose一样的添加方式

该方法的参数...]]></description><category></category></item><item><title><![CDATA[从零开始的WTL入门教程（2）创建第一个窗口]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/104824844</link><guid>https://blog.youkuaiyun.com/importIng/article/details/104824844</guid><author>importIng</author><pubDate>Thu, 12 Mar 2020 18:35:07 +0800</pubDate><description><![CDATA[在开始创建窗口前 有一些必须了解的C/C++特性，即使看不太懂也没有关系先记下
一.C++中的变量。
如果你没有C++基础 那么你需要重新理清C++中的变量和对象关系。
对于变量 它在创建的时候在栈中分配内存。C++中的对象可与基本类型一样直接创建，创建时即分配内存，离开作用域时出栈释放。也可以在堆中创建即创建指针指向new的对象
void founction(){
yourClass obj1;...]]></description><category></category></item><item><title><![CDATA[从零开始的WTL入门教程（1）  WTL的简介，环境搭建]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/103513996</link><guid>https://blog.youkuaiyun.com/importIng/article/details/103513996</guid><author>importIng</author><pubDate>Thu, 12 Dec 2019 18:14:07 +0800</pubDate><description><![CDATA[图文手把手教学系列]]></description><category></category></item><item><title><![CDATA[FLUTTER自己动手用绘图实现一个K线。（CustomPainter，GestureDetector，Listener）]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/95891129</link><guid>https://blog.youkuaiyun.com/importIng/article/details/95891129</guid><author>importIng</author><pubDate>Tue, 16 Jul 2019 19:52:40 +0800</pubDate><description><![CDATA[先看下最终实现的效果

简单介绍一下，K线图功能方面主要是几个部分：

绘图 根据数据源绘制展示在屏幕上的图标，实际上主要就是连线，柱状图，绘制一些文字，有时候会有些圆点或者不规则图形 比较少见。
图表操作，一般只有平移，缩放，点选三种。
指标操作，包含指标的参数调整，指标切换。

所以这个DEMO从功能上来说，已经是一个“全功能”的K线图了（因为点选实际上非常简单而且随着不同应用业务逻辑变化也比...]]></description><category></category></item><item><title><![CDATA[FLUTTER 自己动手对LISTVIEW添加下拉刷新]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/95380148</link><guid>https://blog.youkuaiyun.com/importIng/article/details/95380148</guid><author>importIng</author><pubDate>Wed, 10 Jul 2019 22:40:23 +0800</pubDate><description><![CDATA[material实际上自带有下拉刷新控件，不过既然是学习就自己实现一个，这里是实现一个IOS中比较常见的tableviewHeader式的下拉刷新控件 。效果类似于MJNormalHeader。

先踩个坑
在做下拉刷新的时候，我首先是利用滚动控件拉出滚动范围时，利用offset做处理。 也实现了，在IOS端listview有弹簧效果，因此会被拉出负的offset,但是在安卓端运行时弹簧效果却会被...]]></description><category></category></item><item><title><![CDATA[FLUTTER 无限滚动栏 banner方案]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/95241595</link><guid>https://blog.youkuaiyun.com/importIng/article/details/95241595</guid><author>importIng</author><pubDate>Tue, 09 Jul 2019 22:47:06 +0800</pubDate><description><![CDATA[BANNER 是应用中最常见的复合控件之一，当然也有无数种功能齐全好看好使的第三方工具。这里写一个最简单的三页式BANNER，了解一下PageController,Timer的用法以及一些简单的方法封装
基本思路

使用PageController设置一个三页翻页控件
显示中页 并给三页按照顺序放置BANNER控件
在滚动到前/后页的时刻回到中页并同时更换三页的控件内容
添加自动滚动的定时器

实...]]></description><category></category></item><item><title><![CDATA[FLUTTER报错 Error connecting to the service protocol: HttpException: Connection closed before full hea]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/95114759</link><guid>https://blog.youkuaiyun.com/importIng/article/details/95114759</guid><author>importIng</author><pubDate>Mon, 08 Jul 2019 23:34:40 +0800</pubDate><description><![CDATA[Error connecting to the service protocol: HttpException: Connection closed
before full header was received, uri = http://127.0.0.1:51743/0GbyKPCnF4A=/ws
是因为模拟器的 SDK版本太高
建一个新的低版本的模拟器就可以了

...]]></description><category></category></item><item><title><![CDATA[FLUTTER 报错 Can't access platform private library.]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/94579356</link><guid>https://blog.youkuaiyun.com/importIng/article/details/94579356</guid><author>importIng</author><pubDate>Wed, 03 Jul 2019 17:24:31 +0800</pubDate><description><![CDATA[Compiler message:
file:///Library/flutter/bin/cache/pkg/sky_engine/lib/_http/http.dart:19:8:
Error: Can’t access platform private library.
import ‘dart:_internal’ show Since, HttpStatus;
原来是我在之前使用HTTP...]]></description><category></category></item><item><title><![CDATA[FLUTTER 实战应用 色彩配置(换肤功能)]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/94146108</link><guid>https://blog.youkuaiyun.com/importIng/article/details/94146108</guid><author>importIng</author><pubDate>Sat, 29 Jun 2019 15:34:44 +0800</pubDate><description><![CDATA[这里主要是使用原生框架做全局的状态管理
我的思路是使用管理类管理色彩配置
widget从管理类获取所需的色彩.实现色彩配置
所有常驻内存的widget向管理类递交方法用于色彩配置发生变化的时候被调用
而随界面出现而生成/消失的widget直接获取配置即可
首先创建一个管理类配置色彩

创建一个单例类

class SkinConfig{


  factory SkinConfig() =&gt...]]></description><category></category></item><item><title><![CDATA[FLUTTER实战应用 基础控件使用,引导页,按钮与动画]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/93496372</link><guid>https://blog.youkuaiyun.com/importIng/article/details/93496372</guid><author>importIng</author><pubDate>Mon, 24 Jun 2019 17:16:48 +0800</pubDate><description><![CDATA[引导页,一般是用户第一次打开的时候配置几页宣传,说明,如图
看一下页面构成

页面底部有背景爷
多页滚动
一个带有动画的按钮

选择系统组件
Stack 层叠布局
PageView 滚动效果
OutlineButton 带有外框的一个系统按钮
AnimationController 按钮动画的控制器。
接下来先封装一个带动画的按钮
class AnimationBtn extends Statef...]]></description><category></category></item><item><title><![CDATA[FLUTTER 实战应用 启动方案,与原生交互,读写版本号 ,引导页启动导航]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/93483995</link><guid>https://blog.youkuaiyun.com/importIng/article/details/93483995</guid><author>importIng</author><pubDate>Mon, 24 Jun 2019 14:50:44 +0800</pubDate><description><![CDATA[应用的启动
应用启动方案
通常在应用启动时根据用户是否是第一次打开决定是直接进入应用还是进入引导页,本例中通过在应用中文件存储用户上次启动的应用版本以判断是否进入引导页.

获取应用版本
引入   package_info
dependencies:
  flutter:
    sdk: flutter
  package_info: ^0.3.2+1

读取版本信息
    Future&lt...]]></description><category></category></item><item><title><![CDATA[FLUTTER 实战应用DEMO导览]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/93205560</link><guid>https://blog.youkuaiyun.com/importIng/article/details/93205560</guid><author>importIng</author><pubDate>Fri, 21 Jun 2019 17:12:51 +0800</pubDate><description><![CDATA[关于文章
最近几个月任务比较轻松,因此抽出了一些闲暇时间学习Flutter并完成了一个demo,我的博客主要记录一些demo中使用的控件和解决方案.
个人将尽量避免写一些百度一下很多博客说的非常详尽的内容,博客将从实用出发围绕demo的方案为主.
阅读之前,你或许需要在Flutter中文网大致了解一下Flutter的基本写法.
关于DEMO
我的demo是参照我的工作项目,完成了一些缩水版的对应功...]]></description><category></category></item><item><title><![CDATA[IOS集成ctp,恒生,金仕达穿透式监管的一点坑]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/91879820</link><guid>https://blog.youkuaiyun.com/importIng/article/details/91879820</guid><author>importIng</author><pubDate>Thu, 13 Jun 2019 17:49:04 +0800</pubDate><description><![CDATA[官方文档有些问题遗漏
1.要将引入对应头文件的文件用.mm后缀支持c++语法 不然会出现Expected ‘)’ 报错 (不支持int&amp;)
2.在解析的时候存在一些差异
CTP_GetSystemInfo返回的数据实际是用char[]接收的纯byte数据
用data接收直接base64编码即可。
     char systeminfo[344];
            int nlen...]]></description><category></category></item><item><title><![CDATA[FLUTTER· flutter下使用protobuf和socket与服务器通信实例]]></title><link>https://blog.youkuaiyun.com/importIng/article/details/91565614</link><guid>https://blog.youkuaiyun.com/importIng/article/details/91565614</guid><author>importIng</author><pubDate>Wed, 12 Jun 2019 17:00:54 +0800</pubDate><description><![CDATA[目录简要在flutter中protobuf的导入举例flutter中socket的基本使用flutter中protobuf的基本使用构建消息体消息的编码和解码使用Socket与服务器进行pb协议数据传输的实例
简要
你好！ 你将在这篇文章中看到在flutter中使用socket与服务器进行基于protobuf协议进行通信的基本方法包含protobuf的基本使用,数据编码的方法,以及socket建立...]]></description><category></category></item></channel></rss>