极语言官方网站

窗口(对话框/控件)——发送/接收消息

窗口消息可以使用发送消息向窗口发送消息,也可以在窗体消息这里处理接收的消息
初级程序默认的代码都有窗体消息这个程序段,在这里可以控制键盘鼠标等各种消息
程序段 窗体消息(窗口,消息,参数,数据)   文本 内容[16]="数值"-数据;   判断(消息)为 窗口创建{信息框(0,"创建")}   为 程序关闭{停止(0)}   为 窗口移动{窗体~内容}   为 窗口缩放{窗体~内容}   为 单击左键{左键点击(参数)}   否则 处理窗口(窗口,消息,参数,数据) 结束

上面这段代码是在收到窗口创建消息时, 弹出信息框;在收到程序关闭消息时停止程序运行

在收到窗口移动消息时,显示窗口的位置(左顶);在收到窗口缩放消息时,显示窗口的大小(宽高)

当然也可以使用发送消息给窗口,让程序来处理;发送消息(窗体,窗口关闭,0,0)

有些消息主要常用来接收处理,例如窗口改变或键盘鼠标等;有些消息就常用来发送,如获取设置文本等

对于控件有些通用的功能,比如:控制窗口(按钮,真) 启用按钮接受鼠标和键盘的控制

控制窗口(编辑框1,假) 禁用编辑框1接受鼠标和键盘的输入

整数 数值=取控件数(窗体,1)获取窗体上第一个控件内文字,并转换成数值

改控件数(窗体,2,数值,真)把数值转换成文字显示到窗体上第二个控件窗口

整个窗口界面可以叫它对话框,对话框里的子窗口叫它控件,设计控件时候都会有独立的编号,称之为标识

刚才读写控件内数值使用的数值编号就是标识,在控件操作中十分常用,也就是设计控件时候的编号叫做标识


中文名字常量数值英文名称释义
窗口创建1WM_CREATE新建一个窗口。③参数:0;④数据:创建窗口的数据结构
程序关闭2WM_DESTROY销毁一个窗口。③参数:0;④数据:0
窗口移动3WM_MOVE移动一个窗口。③参数:0;④数据:xy坐标(各占16位)
窗口缩放5WM_SIZE改变一个窗口的大小。③参数:0=已调整;1最小化;2最大化,
3其它窗口还原;4其它窗口最大化;④数据:宽高大小(各16位)
窗口激活6WM_ACTIVATE一个窗口被激活或失去激活状态。③参数:0关闭,1非鼠标激活,
2鼠标激活;④数据:参数为0是激活窗口,非0是停用的窗口
获得焦点7WM_SETFOCUS将键盘焦点转向一个窗口。③参数:失去焦点的窗口,可为0;④数据:0
失去焦点8WM_KILLFOCUS使一个窗口失去焦点。③参数:接收焦点的窗口,可为0;④数据:0
可用状态10WM_ENABLE使一个窗口处于可用状态。③参数:0为禁用,非零启用;④数据:0
是否重绘11WM_SETREDRAW设置窗口是否能重绘。③参数:0不重绘,非0重绘;④数据:0
窗口重绘15WM_PAINT当需要绘制一部分应用窗口的时候,发送本消息给所有者程序。
③参数:0;④数据:0
窗口关闭$0010WM_CLOSE用户关闭窗口时会发送本消息,紧接着会发送程序关闭消息。
③参数:0;④数据:0
消息结束$0012WM_QUIT提交退出函数提交一个代码数值,程序收到此消息,用以关闭消息循环,
结束程序的运行。③参数:退出码;④数据:0
窗口恢复$0013WM_QUERYOPEN最小化的窗口即将被恢复以前的大小位置。③参数:0;④数据:0
擦除背景$0014WM_ERASEBKGND当一个窗口的背景必须被擦除时本消息会被触发(如:窗口大小改变时)。
③参数:设备;④数据:0
显示窗口$0018WM_SHOWWINDOW发送本消息给一个窗口,以便隐藏或显示该窗口。
③参数:0隐藏,非0显示;
④数据:0不变,1最小化,2最大化,3正在还原,4已被还原
界面激活$001CWM_ACTIVATEAPP窗口进程激活状态改动,正被激活的窗口属于不同的应用程序。
③参数:0停用,非0激活;④数据:线程标识
模态窗口$001FWM_CANCELMODE发送本消息来取消某种正在进行的模态(操作)(如鼠示捕获),例如:
启动一个模态窗口时,父窗会收到本消息;③参数:0;④数据:0
窗口改变$0024WM_GETMINMAXINFO当窗口将要改变大小或位置时,由系统发送本消息给窗口,
用户拖动一个可重置大小的窗口时便会发出本消息。
③参数:0;④数据:MINMAXINFO结构
拖放小窗$0037WM_QUERYDRAGICON本消息发送给最小化的窗口,当该窗口将被拖放而其窗口类中没有定义
图标,应用程序能返回一个图标或光标的句柄。③参数:0;④数据:0
显存不足$0041WM_COMPACTING显示内存已经很少了。③参数:时间比;④数据:0。
例如,0x8000表示压缩内存所用的 CPU 时间的 50%。
首创窗口$0081WM_NCCREATE当某窗口首次被创建时,本消息在WM_CREATE消息发送前发送。
③参数:0;④数据:创建窗口的全部数据
调整大小$214WM_SIZING当用户正在调整窗口大小时,发送本消息给窗口;
③参数:1左边缘,2右边缘,3上边缘,4左上角,5右上角,下边缘,
7左下角,8右下角;④数据:矩形类
循环调整$231WM_ENTERSIZEMOVE当某窗口进入移动或调整大小的模式循环时,本消息发送到该窗口。
③参数:0;④数据:0
退出调整$232WM_EXITSIZEMOVE确定用户改变窗口大小或改变窗口位置的事件是何时完成的。
③参数:0;④数据:0
窗口绘制$317WM_PRINT请求窗口在指定的设备(如打印机)绘制自身。
③参数:设备;④数据:1绘可见窗口,2绘非工作区,4绘工作区,
8擦除背景,16绘所有可见子窗,32绘所有窗口
绘客户区$318WM_PRINTCLIENT请求窗口在指定的设备(如打印机)绘制其客户区。
③参数:设备;④数据:1绘可见窗口,2绘非工作区,4绘工作区,
8擦除背景,16绘所有可见子窗,32绘所有窗口

中文名字英文名称长度作用解释
窗口类WNDCLASS40用来储存某一类窗口的信息,向系统注册此信息才能创建窗体。
窗口类——成员表
风格style整数窗口类的风格
消息lpfnWndProc整数窗口消息处理函数
类长cbClsExtra整数窗口类扩展
实长cbWndExtra整数窗口实例扩展
实例hInstance整数当前实例句柄,$400000
图标hIcon整数窗口的小图标
光标hCursor整数窗口鼠标光标
背景hbrBackground整数窗口背景色
菜单lpszMenuName整数窗口菜单
名称lpszClassName整数窗口类名

中文名字英文名称长度作用解释
消息类MSG28定义了传递给应用程序的窗口过程的初始化参数,它定义了窗口外观相关特性
消息类——成员表
窗口hwnd整数表示消息所属的窗口。
消息message整数表示消息类型的标识符
参数wParam整数附加消息1
附加lParam整数附加消息2
时间time整数表示消息投递到消息队列中的时间
左边pt.x整数鼠标在屏幕上左边的位置
顶部pt.y整数鼠标在屏幕上顶部的位置