达内学习笔记——窗口的注册
来源:互联网 发布:fd软件下载 编辑:程序博客网 时间:2024/05/22 12:38
1、窗口的注册
1.1 窗口类的分类
1.1.1 系统全局的窗口类。比如按钮(BUTTON)、文本("EDIT")编辑框等。不需要注册
1.1.2 运用程序的全局窗口类。可以在运用程序中exe和dll所有模块中使用全局窗口类。
1.1.3 局部窗口类。只能在本模块中使用的窗口类。
2.2 实现窗口类的注册
2.2.1 系统全局的窗口类,无需注册,直接使用。
使用CreateWindow函数,在CLASSNAME中制定系统已经定义好的窗口类型名称即可。
2.2.2 应用程序的全局窗口类,需要用代码实现注册,在注册时需要增加CS_GLOBALCLASS定义实现方式:
WNDCLASS wc ={0};
wc.style= CS_GLOBALCLASS|CS_HREDRAW...'
RegisterClss(&wc);
2.2.3 局部窗口类,不能增加CS_GLOBALCLASS定义
使用 ResgisterClss和RegisterClassEx注册
CS_HREDRAW 窗口水平变化,重新绘制窗口。
CS_WREDRAW 窗口锤子变化,重新绘制窗口
CS_DBCLICK 窗口可以接受鼠标双击消息
CS_GLOBALCLASS 创建应用程序全局窗口类
CS_BYTEALIGNWINDOW 窗口对齐方式,以8的倍数对齐
CS_BYTEALIGNCLIENT 窗口客户区对齐方式
CS_CLASSDC 所有这种类型的窗口使用同一个DC
CS_OWNDC 每个串钩拥有自己的DC
CS_PARENTDC 使用父窗口的DC
CS_SAVEBITS (提高了绘图性能,消耗了资源)使用位图保存窗口界面,可以提高窗口界面的刷新性能
2.2.5 窗口类的附加数据 (cbClsExtra)
在窗口类的数据信息中添加自己的信息
cbClsExtra用于添加信息的内存的大小
SetClassLong 将信息保存到内存中
GetClassLong 将信息从内存中取出
2.2.6 窗口附加数据
在窗口的数据信息中添加自己的信息。
cbWndExtra 用于添加信息的内存的大小
SetWindowLong 将信息保存到内存中
GetWindowLong 将信息从内存中取出
2.4 创建窗口类是如何定位窗口类
2.4.1 查找应用程序局部的窗口类.如果找到,执行2.4.2,否则执行2.4.3
2.4.2 如果找到名称一致的窗口,会比较HINSTANCE句柄。如果一致,就使用找到的窗口类信息创建窗口;
如果不同,继续查找,执行2.4.3。
2.4.3如果未找到名称一致的窗口类,会继续在应用程序全局窗口类中查找。如果找到就执行2.2.4,否则执行2.4.5
2..4.4 全局窗口类知道一致的,使用找到的窗口类信息创建窗口。
2.4.5 系统全局窗口类中查找。如果找到,创建窗口,否则返回失败。
- 达内学习笔记——窗口的注册
- 达内学习笔记---win32编程窗口函数
- 学习笔记之深入浅出MFC 第2讲 窗口类注册与窗口的诞生
- 达内学习笔记——new
- 达内学习的一些MyBatis笔记
- 2013.7.31 学习笔记《windows核心编程》(五) 窗口注册
- 学习笔记——内部类的特殊用法
- MFC学习笔记——多窗口之间的通信 .
- Windows GDI学习笔记——窗口的绘制
- Unity3D学习笔记——Unity3D的窗口布局
- MFC学习笔记——多窗口之间的通信
- Qt学习笔记——窗口的布局
- 达内学习笔记——const 指针
- 达内学习笔记——主方法参数
- 达内学习笔记——函数指针
- 达内学习笔记——函数类型别名
- 达内学习笔记——输出格式
- 达内学习笔记——成员指针
- 垃圾回收机制的实验记录
- 【对号入座,看看自己差距】
- 产品经理如何写产品的招标参数
- 洛谷 P1033 [NOIP2002 T3] 自由落体
- 关于glassfish的部署问题
- 达内学习笔记——窗口的注册
- Android 首次开机优化
- UIImageView添加圆角
- 实先登录界面,至允许输入三次密码,若成功显示"成功进入",三次失败显示“”“”
- 双缓冲技术解决MFC重绘闪烁问题
- 【2016】10月小结---荒芜的一月
- TX1安装usbserial及cp210x驱动
- 小话设计模式(番外二)委托模式
- 送货的难题->简单的贪心