WTL/C++
importIng
摸鱼多年,充充电
展开
-
从零开始的WTL入门教程(7) 创建使用自定义资源控件,使用DDX,自定义DDX
先介绍一个WTL增强数据交换工具 DDXDDX是一套类似于MSG_MAP的宏命令,其实质就是简化和统一窗口与数据之间相互传值的调用代码。使用起来比较简单,举个例子。首先在需要使用DDX的类中继承CWinDataExchange父类然后使用DDX命令 将要绑定的控件ID和对应类型的变量进行绑定当然,要创建ID_TF_FIRST这个资源ID并赋值给之前创建的CEdit;之后在需要交换数...原创 2020-03-12 19:16:00 · 895 阅读 · 1 评论 -
从零开始的WTL入门教程(6) 可视化布局 ,使用资源文件
在开发中需要界面有相当繁复但是固定的控件,全部使用动态创建的方式代码量较大,因此也可以通过资源文件拖控件去实现。只需要通过资源直接拖动控件到需要的位置后使用时通过资源ID获取就可以了。节省了大量的布局代码。以对话框为例实践一下。打开资源视图,右键选择添加资源对应的类型比较多,功能各样,可以直接百度了解。这里直接使用一个最基本的Dialog 对话框。不用点开加号。红圈内的ID就是对话框的...原创 2020-03-12 18:53:22 · 823 阅读 · 0 评论 -
从零开始的WTL入门教程(5) WTL的窗口控件布局
窗口布局在改变窗口大小时,或者触发控件事件时,有时会需要去改变界面布局。改变控件位置可以使用 **MoveWindow()**方法方便使用 先将控件储存为类成员变量在滚动条滚动中改变按钮的位置 void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar pScrollBar) { int curPos = pScrollBar.GetScro...原创 2020-03-12 18:51:10 · 870 阅读 · 0 评论 -
从零开始的WTL入门教程(4) 基础控件CButton,CEdit,CScrollBar,CComboBox的简介和基本使用
基础控件在进一步使用WTL封装控件之前,需要先了解和使用一些基本控件,它们是通用MFC的。通常给自定义控件添加子控件的过程放置在生命周期方法中的创建消息中。对于CWinodwImpl就是MSG_WM_CREATECButton为FirstWindow创建一个CButton注意对于一个子控件,需要为其指定父控件的句柄以确定坐标系位置。同时需要设置样式为WS_CHILD或者WS_CHILD...原创 2020-03-12 18:44:55 · 1118 阅读 · 0 评论 -
从零开始的WTL入门教程(3)WTL窗口绘图,双重缓冲
由于WinApi诞生之时还没有Material Design这样美观的视觉表达规范,其系统控件样式相当的匮乏且充满工程师设计风格,因此大多数时候,控件都需要实现自定义绘图,即使只是简单的设置背景颜色。完成了上面最简单的视窗控件后,我们来给它添加一个背景色。绘图方法在系统更新控件时被调用。因此它也依赖于消息循环。我们可以在消息的定义文件中找到它。与OnClose一样的添加方式该方法的参数...原创 2020-03-12 18:39:47 · 971 阅读 · 0 评论 -
从零开始的WTL入门教程(2)创建第一个窗口
在开始创建窗口前 有一些必须了解的C/C++特性,即使看不太懂也没有关系先记下一.C++中的变量。如果你没有C++基础 那么你需要重新理清C++中的变量和对象关系。对于变量 它在创建的时候在栈中分配内存。C++中的对象可与基本类型一样直接创建,创建时即分配内存,离开作用域时出栈释放。也可以在堆中创建即创建指针指向new的对象void founction(){yourClass obj1;...原创 2020-03-12 18:35:07 · 1914 阅读 · 0 评论 -
从零开始的WTL入门教程(1) WTL的简介,环境搭建
图文手把手教学系列原创 2019-12-12 18:14:07 · 8870 阅读 · 1 评论