极语言2-3 绘制控件——通知消息

绘制控件——通知消息:

如果是指定多个或多种控件的字体,可以在绘制控件消息时指定,比如判断(消息) 为 绘制编辑{发送消息(数据,指定字体,0,字体)}
绘制不同的控件可以指定不同的字体,如果要所有控件都指定同一种字体,可以用 为 绘制弹窗 ~ 绘制静态{发送消息(数据,指定字体,0,字体)}
使用波浪线符号是从绘制弹窗 到 绘制静态的消息,包括弹窗,编辑框,列表框,按钮,对话框,滚动条,静态标签框这些控件都指定为同一字体
在绘制控件的时候,第三参数为控件的设备,所以也可以用选择对象(参数,字体)来修改字体,但是这个方法不支持按钮一类的控件
也可以在绘制控件时指定文字颜色和背景颜色,如:文本改色(参数,$C0FFFF) 改背景色(参数,$C0FF30)
改背景色适合编辑框,其它控件可以使用创建画刷($C0FFC0)来修改背景,或者使用固有对象(5)让背景透明,这里5是空画刷
绘制弹窗 $0132 WM_CTLCOLORMSGBOX 系统绘制消息框前发送本消息给消息框的所有者窗口,可用来设置消息框的文本和背景色③参数:设备;④数据:控件
绘制编辑 $0133 WM_CTLCOLOREDIT 当一个编辑框控件将要被绘制时,发送本消息给其父窗;可用来设置编辑框的文本和背景色③参数:设备;④数据:控件
绘制列表 $0134 WM_CTLCOLORLISTBOX 当一个列表框控件将要被绘制前,发送本消息给其父窗;可用来设置列表框的文本和背景色③参数:设备;④数据:控件
绘制按钮 $0135 WM_CTLCOLORBTN 绘制按钮的背景色③参数:设备;④数据:控件
绘制对话 $0136 WM_CTLCOLORDLG 绘制对话框的背景色③参数:设备;④数据:控件
绘制滚条 $0137 WM_CTLCOLORSCROLLBAR 绘制滚动条的背景色③参数:设备;④数据:控件
绘制静态 $0138 WM_CTLCOLORSTATIC 绘制一个静态控件的背景色③参数:设备;④数据:控件

控件事件——控制消息:

判断(消息) 为 控件事件 公共事件(数据)调用公共事件这段程序代码,④数据:包含多项事件信息的数据
程序段 公共事件(数据)
  整数 窗口=数据&,参数=.&4,事件=.&8
  处理窗口(窗口,控件事件,参数,数据)
结束

数据地址里第一个整数是窗口,第二个整数是控件编号(对应窗体消息的参数),第三个整数是控件事件
这种事件是用负数表示,如-2是单击左键,-3是双击左键,具体参照下面:公用控件事件这个表
中文名字 常量数值 英文名称 释义
绘制控件 $0019 WM_CTLCOLOR 在每个控件开始绘制之前,都会向其父窗口发送此消息,可用来设置控件显示文本的前景色、背景色以及字体。③参数:设备;④数据:控件
控件创建 $002C WM_MEASUREITEM 按钮、组合框、列表框、列表控件、菜单项被创建时会发送本消息给这些控件的所有者。③参数:控件号;④数据:MEASUREITEMSTRUCT 结构
删除项目 $002D WM_DELETEITEM 列表框或组合框被销毁或删除清空某些项时,会发送本消息给这些控件的所有者。③参数:控件号;④数据: DELETEITEMSTRUCT 结构
列表按键 $002E WM_VKEYTOITEM 响应按键风格的列表框会发出本消息给其所有者,以便响应键盘按下消息。③参数:键码/位置;④数据:列表框
列表字符 $002F WM_CHARTOITEM 响应按键风格的列表框会发送本消息给其所有者,以便响应键入字符消息。③参数:键码/位置;④数据:列表框
新项位置 $0039 WM_COMPAREITEM 可发送本消息来确定组合框(CBS_SORT)或列表框(LBS_SORT)中新增项的相对位置。③参数:控件号;④数据:COMPAREITEMSTRUCT 结构
串口事件 $0044 WM_COMMNOTIFY Win3.1中,当串口事件产生时,通讯设备驱动程序发送消息本消息给系统,指示输入输出队列的状态。
控件事件 $004E WM_NOTIFY 当某控件的某事件已发生或该控件需得到一些信息时,发送本消息给其父窗。③参数:控件号;④数据:NMHDR 结构
帮助按键 $0053 WM_HELP 按下后,若某菜单是激活的,就发给此窗口关联的菜单;否则就发送给有焦点的窗口;若当前都没有焦点,发给当前激活的窗口。③参数:0;④数据:HELPINFO 结构
消息判断 $0055 WM_NOTIFYFORMAT 公用控件、自定义控件和其父窗通过本消息判断控件在WM_NOTIFY通知消息中是使用ANSI还是UNICODE。③参数:窗口;④数据:3控件,4父窗;返回值:1ANSi,2UNICODE
定时事件 $0113 WM_TIMER 发生了定时器事件。③参数:编号;④数据:回调函数
水平滚动 $0114 WM_HSCROLL 当窗口的标准水平滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点左键,1点右/下键,2点滑块左,3点滑块右,4按住滑块,
5拖动滑块,6按home,7按END,8释放按键;高位=按住拖动位置;④数据:控件
垂直滚动 $0115 WM_VSCROLL 当窗口的标准垂直滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点上键,1点下键,2点滑块上方,3点滑块下方,4按住滑块,
5拖动滑块,6按home,7按END,8释放按键;高位=按住拖动位置;④数据:控件
调整大小 $214 WM_SIZING 当用户正在调整窗口大小时,发送本消息给窗口;③参数:1左边缘,2右边缘,3上边缘,4左上角,5右上角,下边缘,7左下角,8右下角;④数据:矩形类

公用控件事件——通知消息:

发生控件事件时,若无特别说明④数据:传递NMHDR 结构的数据
中文名字 常量数值 英文名称 释义
控件内存不足 -1 NM_OUTOFMEMORY 内存不足,操作不能完成
控件单击左键 -2 NM_CLICK 用户在控件上点击了鼠标左键
控件双击左键 -3 NM_DBLCLK 用户在控件上双击了鼠标左键
控件按下回车 -4 NM_RETURN 控件获得键盘焦点并按下回车键
控件单击右键 -5 NM_RCLICK 用户在控件上点击了鼠标右键
控件双击右键 -6 NM_RDBLCLK 用户在控件上双击了鼠标右键
控件得到焦点 -7 NM_SETFOCUS 控件收到输入焦点
控件失去焦点 -8 NM_KILLFOCUS 用户失去输入焦点
控件自行绘制 -12 NM_CUSTOMDRAW 通知控件的父窗口有关自定义绘制操作的信息。
控件鼠标掠过 -13 NM_HOVER 用户的鼠标掠过控件
控件命中测试 -14 NM_NCHITTEST 当控件收到消息时,由 伸缩条 控件发送。④数据:NMMOUSE 结构
控件按下键盘 -15 NM_KEYDOWN 控件获得键盘焦点并按下某键
控件释放鼠标 -16 NM_RELEASEDCAPTURE 控件要释放鼠标捕捉
控件设置光标 -17 NM_SETCURSOR 控件响应消息要设置光标
控件键入字符 -18 NM_CHAR 字符键被处理后由控件发送
控件工具提示 -19 NM_TOOLTIPSCREATED 通知控件的父窗口控件已创建工具提示控件。④数据:NMTOOLTIPSCREATED 结构
控件鼠标左键 -20 NM_LDOWN 通知控件的父窗口已按下鼠标左键。
控件鼠标右键 -21 NM_RDOWN 不支持此通知代码。
控件主题更改 -22 NM_THEMECHANGED 通知控件的父窗口主题已更改。
控件字体更改 -23 NM_FONTCHANGED 当控件更改字体时,由列表视图控件发送。
控件自定文本 -24 NM_CUSTOMTEXT 通知控件的父窗口有关自定义文本操作的信息。④数据:NMCUSTOMTEXT 结构

表格框——通知消息:

中文名字 常量数值 英文名称 释义
控件单击左键 -2 NM_CLICK 用户在控件上点击了鼠标左键
控件双击左键 -3 NM_DBLCLK 用户在控件上双击了鼠标左键
控件按下回车 -4 NM_RETURN 控件获得键盘焦点并按下回车键
控件单击右键 -5 NM_RCLICK 用户在控件上点击了鼠标右键
控件双击右键 -6 NM_RDBLCLK 用户在控件上双击了鼠标右键
控件得到焦点 -7 NM_SETFOCUS 控件收到输入焦点
控件失去焦点 -8 NM_KILLFOCUS 用户失去输入焦点
控件自行绘制 -12 NM_CUSTOMDRAW 通知控件的父窗口有关自定义绘制操作的信息。
控件鼠标掠过 -13 NM_HOVER 用户的鼠标掠过控件
控件释放鼠标 -16 NM_RELEASEDCAPTURE 控件要释放鼠标捕捉
表项正在改变 -100 LVN_ITEMCHANGING 有个项目正被改变
表项已被改变 -101 LVN_ITEMCHANGED 有个项目已经被改变
表项插入新项 -101 LVN_INSERTITEM 有个新项目被插入了
表项删除单项 -103 LVN_DELETEITEM 有个项目要被删除
表项删除全项 -104 LVN_DELETEALLITEMS 所有项目要被删除
表项编辑起点 -105 LVN_BEGINLABELEDITA 一个项目的文本标签编辑的起点
表项编辑终点 -106 LVN_ENDLABELEDITA 一个项目的文本标签编辑的终点
表项列被点击 -108 LVN_COLUMNCLICK 一个列被点击了
表项左键拖放 -109 LVN_BEGINDRAG 鼠标左键的拖放操作开始了
表项右键拖放 -111 LVN_BEGINRDRAG 鼠标右键的拖放操作开始了
表项内容改变 -113 LVN_ODCACHEHINT 由虚列表控件在其可视区域的内容被改变时发送
表项用户激活 -114 LVN_ITEMACTIVATE 由虚列表控件在用户激活了某个项目时发送
表项状态改变 -115 LVN_ODSTATECHANGED 由虚列表控件在一个项目的状态或排列已被改变时发送
表项鼠标掠过 -121 LVN_HOTTRACK 由虚列表控件在用户的鼠标掠过某个项目时发送
表项请求显示 -150 LVN_GETDISPINFOA 请求父窗提供显示项目或对某个项目排序所需的信息
表项更新显示 -151 LVN_SETDISPINFOA 需要更新某个项目的信息
表项查找回调 -152 LVN_ODFINDITEMA 由虚列表控件在需要其所有者查找特定的回调项目时发送
表项键盘按下 -155 LVN_KEYDOWN 通知列表视图控件的父窗口已按下某键。
表项选择边框 -156 LVN_MARQUEEBEGIN 某个边框选择已开始
表项附加文本 -157 LVN_GETINFOTIPA 请求附加的文本信息(显示于工具提示控件中)时发送
表项附加提示 -158 LVN_GETINFOTIPW 请求附加的文本信息(显示于工具提示控件中)时发送

标头框——通知消息:

中文名字 常量数值 英文名称 释义
控件单击右键 -5 NM_RCLICK 用户在控件上点击了鼠标右键
控件自行绘制 -12 NM_CUSTOMDRAW 通知控件的父窗口有关自定义绘制操作的信息。
控件释放鼠标 -16 NM_RELEASEDCAPTURE 控件要释放鼠标捕捉
标头正在改变 -300 HDN_ITEMCHANGING 有个项目正被改变
标头已被改变 -301 HDN_ITEMCHANGEDA 有个项目已经被改变
标头单击项目 -302 HDN_ITEMCLICKA 用户单击项目
标头双击项目 -303 HDN_ITEMDBLCLICKA 用户双击项目
标头双击分割 -305 HDN_DIVIDERDBLCLICKA 用户双击控件的分隔线区域。
标头拖起分割 -306 HDN_BEGINTRACKA 用户已开始拖动控件中的分隔符
标头拖完分割 -307 HDN_ENDTRACKA 用户已完成拖动分隔符。
标头拖动分割 -308 HDN_TRACKA 用户正在拖动标题控件中的分隔符
标头显示回调 -309 HDN_GETDISPINFOA 有关回调标头项的信息
标头开始拖动 -310 HDN_BEGINDRAG 对其某个项开始拖动操作
标头结束拖动 -311 HDN_ENDDRAG 拖动操作对其某个项结束

树表框——通知消息:

中文名字 常量数值 英文名称 释义
控件单击左键 -2 NM_CLICK 用户在控件上点击了鼠标左键
控件双击左键 -3 NM_DBLCLK 用户在控件上双击了鼠标左键
控件按下回车 -4 NM_RETURN 控件获得键盘焦点并按下回车键
控件单击右键 -5 NM_RCLICK 用户在控件上点击了鼠标右键
控件双击右键 -6 NM_RDBLCLK 用户在控件上双击了鼠标右键
控件得到焦点 -7 NM_SETFOCUS 控件收到输入焦点
控件失去焦点 -8 NM_KILLFOCUS 用户失去输入焦点
控件自行绘制 -12 NM_CUSTOMDRAW 通知控件的父窗口有关自定义绘制操作的信息。
控件设置光标 -17 NM_SETCURSOR 控件响应消息要设置光标
树表图像更改 -24 NM_TVSTATEIMAGECHANGING 由树视图控件发送到其状态图像正在更改的父窗口。④数据:NMTVSTATEIMAGECHANGING 结构
树项正在改变 -401 TVN_SELCHANGINGA 用户对树控件项目的选择将改变
树项已被改变 -402 TVN_SELCHANGEDA 用户已改变树控件项目的选择
树项单击项目 -403 TVN_GETDISPINFOA 需要得到树控件的某结点信息
树项双击项目 -404 TVN_SETDISPINFOA 通知更新树控件项目的信息
树项即将开合 -405 TVN_ITEMEXPANDINGA 树控件某结点将被展开或收缩
树项已经开合 -406 TVN_ITEMEXPANDEDA 树控件某结点已被展开或收缩
树项左键拖起 -407 TVN_BEGINDRAGA 树控件中鼠标左键拖放开始
树项右键拖起 -408 TVN_BEGINRDRAGA 树控件中鼠标右键拖放开始
树项删除项目 -409 TVN_DELETEITEMA 删除树控件中的项目
树项修改标签 -410 TVN_BEGINLABELEDITA 开始编辑项目的标签
树项改完标签 -411 TVN_ENDLABELEDITA 用户完成编辑项目的标签
树项键盘按下 -412 TVN_KEYDOWN 用户在树控件中按下了某键盘按键
树项显示文字 -413 TVN_GETINFOTIPA 请求显示结点信息或提示文字
树项请求显示 -414 TVN_GETINFOTIPW 请求显示结点信息或提示文字
树项单击开合 -415 TVN_SINGLEEXPAND 用户使用鼠标单击打开或关闭树控件项目

工具提示——通知消息:

中文名字 常量数值 英文名称 释义
控件自行绘制 -12 NM_CUSTOMDRAW 通知控件的父窗口有关自定义绘制操作的信息。
提示显示信息 -520 TTN_GETDISPINFOA 检索显示工具提示窗口所需的信息
提示即将显示 -521 TTN_SHOW 即将显示工具提示控件
提示即将隐藏 -522 TTN_POP 工具提示即将隐藏。

选项卡——通知消息:

中文名字 常量数值 英文名称 释义
控件单击左键 -2 NM_CLICK 用户在控件上点击了鼠标左键
控件双击左键 -3 NM_DBLCLK 用户在控件上双击了鼠标左键
控件单击右键 -5 NM_RCLICK 用户在控件上点击了鼠标右键
控件双击右键 -6 NM_RDBLCLK 用户在控件上双击了鼠标右键
控件释放鼠标 -16 NM_RELEASEDCAPTURE 控件要释放鼠标捕捉
选卡键盘按下 -550 TCN_KEYDOWN 用户已按下某键
选卡已被改变 -551 TCN_SELCHANGE 选项卡的当前选择已被改变
选卡将要改变 -552 TCN_SELCHANGING 选项卡的当前选择将要改变
选卡放置目标 -553 TCN_GETOBJECT 请求放置目标对象

对话框——通知消息:

中文名字 常量数值 英文名称 释义
对话完成排列 -601 CDN_INITDONE 系统已完成在打开另存为通用对话框中排列控件
对话选择改变 -602 CDN_SELCHANGE 用户在对话框文件列表里选择了一个新文件或文件夹
对话新文件夹 -603 CDN_FOLDERCHANGE 向钩子函数发送一个新文件夹被打开的消息
对话共享冲突 -604 CDN_SHAREVIOLATION 用户选择的文件名发生网络共享冲突
对话点击帮助 -605 CDN_HELP 通用对话框中的帮助按钮被按下
对话点击确定 -606 CDN_FILEOK 向钩子函数发送确定按钮被按下的消息
对话类型改变 -607 CDN_TYPECHANGE 从文件类型列表中选择一个新文件类型
对话包含项目 -608 CDN_INCLUDEITEM 对话框会针对文件夹中的每一项发送包含项通知。

工具栏——通知消息:

中文名字 常量数值 英文名称 释义
控件单击左键 -2 NM_CLICK 用户在控件上点击了鼠标左键
控件双击左键 -3 NM_DBLCLK 用户在控件上双击了鼠标左键
控件单击右键 -5 NM_RCLICK 用户在控件上点击了鼠标右键
控件双击右键 -6 NM_RDBLCLK 用户在控件上双击了鼠标右键
控件自行绘制 -12 NM_CUSTOMDRAW 通知控件的父窗口有关自定义绘制操作的信息。
控件按下键盘 -15 NM_KEYDOWN 控件获得键盘焦点并按下某键
控件释放鼠标 -16 NM_RELEASEDCAPTURE 控件要释放鼠标捕捉
控件键入字符 -18 NM_CHAR 字符键被处理后由控件发送
控件工具提示 -19 NM_TOOLTIPSCREATED 通知控件的父窗口控件已创建工具提示控件。④数据:NMTOOLTIPSCREATED 结构
控件鼠标左键 -20 NM_LDOWN 通知控件的父窗口已按下鼠标左键。
工具按钮信息 -700 TBN_GETBUTTONINFOA 获取工具栏的自定义信息
工具拖起按钮 -701 TBN_BEGINDRAG 用户已开始拖动工具栏的某个按钮
工具拖放按钮 -702 TBN_ENDDRAG 用户已停止拖动工具栏的某个按钮
工具开始定义 -703 TBN_BEGINADJUST 用户已开始自定义一个工具栏
工具结束定义 -704 TBN_ENDADJUST 用户已停止自定义一个工具栏
工具已经重置 -705 TBN_RESET 用户在自定义工具栏对话框中已经对工具栏进行重置了
工具可插左侧 -706 TBN_QUERYINSERT 按钮是否可被插入到指定按钮的左侧
工具可被删除 -707 TBN_QUERYDELETE 用户自定义工具栏时一个按钮是否可被删除
工具已被改变 -708 TBN_TOOLBARCHANGE 用户已经定制完一个工具栏
工具选择帮助 -709 TBN_CUSTHELP 用户已经选择了自定义工具栏对话框上的帮助按钮
工具单击下拉 -710 TBN_DROPDOWN 当用户单击下拉按钮时,工具栏控件发送。
工具放置目标 -712 TBN_GETOBJECT 请求放置目标对象。
工具热项更改 -713 TBN_HOTITEMCHANGE 突出显示的热 () 项更改
工具拖出按钮 -714 TBN_DRAGOUT 用户单击按钮,然后将光标移出按钮
工具删除按钮 -715 TBN_DELETINGBUTTON 按钮即将被删除
工具显示信息 -716 TBN_GETDISPINFOA 检索工具栏项的显示信息
工具信息显示 -717 TBN_GETDISPINFOW 检索工具栏项的显示信息
工具提示信息 -718 TBN_GETINFOTIPA 检索工具栏项的信息提示信息。
工具信息提示 -719 TBN_GETINFOTIPW 检索工具栏项的信息提示信息。

调节框——通知消息:

中文名字 常量数值 英文名称 释义
控件释放鼠标 -16 NM_RELEASEDCAPTURE 控件要释放鼠标捕捉
调节位置更改 -720 UDN_DELTAPOS 调节器控件的位置即将更改。④数据:NMUPDOWN 结构
发送消息——常数表
调节设置范围 0x465 UDM_SETRANGE 设置上下控件范围的最小和最大位置。③参数:0;④数据:最大/最小
调节获取范围 0x466 UDM_GETRANGE 获取上下控件范围的最小和最大位置。③参数:0;④数据:0
调节设置位置 0x467 UDM_SETPOS 设置上下控件16位精度的当前位置。③参数:0;④数据:新位置
调节获取位置 0x468 UDM_GETPOS 获取上下控件16位精度的当前位置。③参数:0;④数据:0
调节设置窗口 0x469 UDM_SETBUDDY 设置上下控件的伙伴窗口。③参数:窗口;④数据:0
调节获取窗口 0x46A UDM_GETBUDDY 获取上下控件的伙伴窗口。③参数:0;④数据:0
调节设置加速 0x46B UDM_SETACCEL 设置上下控件的加速。③参数:数目;④数据:UDACCEL 结构的数组
调节获取加速 0x46C UDM_GETACCEL 获取上下控件的加速。③参数:数目;④数据:UDACCEL 结构的数组
调节设置基数 0x46D UDM_SETBASE 设置上下控件的基数。③参数:10十进制,16十六进制;④数据:0
调节获取基数 0x46E UDM_GETBASE 获取上下控件的基数。③参数:0;④数据:0
调节设置限定 0x46F UDM_SETRANGE32 设置上下控件的32 位范围。③参数:下限;④数据:上限
调节获取限定 0x470 UDM_GETRANGE32 获取上下控件的32 位范围。③参数:@下限;④数据:@上限;为0不获取
调节设置定位 0x471 UDM_SETPOS32 设置上下控件32位精度的当前位置。③参数:0;④数据:新位置
调节获取定位 0x472 UDM_GETPOS32 获取上下控件32位精度的当前位置。③参数:0;④数据:0
控件设置宽字 0x2005 CCM_SETUNICODEFORMAT 设置控件的 Unicode 字符格式标志。③参数:是否宽字;④数据:0;
控件获取宽字 0x2006 CCM_GETUNICODEFORMAT 获取控件的 Unicode 字符格式标志。③参数:0;④数据:0;

月历框——通知消息:

中文名字 常量数值 英文名称 释义
控件释放鼠标 -16 NM_RELEASEDCAPTURE 控件要释放鼠标捕捉
月历选项改变 -749 MCN_SELCHANGE 当前选择项已被改变
月历显示风格 -747 MCN_GETDAYSTATE 获取月历控件的日期显示风格
月历选择日期 -746 MCN_SELECT 在月历控件中选择一个日期

日期框——通知消息:

中文名字 常量数值 英文名称 释义
控件得到焦点 -7 NM_SETFOCUS 控件收到输入焦点
控件失去焦点 -8 NM_KILLFOCUS 用户失去输入焦点
日历内容改变 -759 DTN_DATETIMECHANGE DTP控件中的内容已发生改变
日历完成编辑 -758 DTN_USERSTRINGA 用户已完成DTP控件的编辑
日历单击回调 -757 DTN_WMKEYDOWNA 用户单击了DTP控件的回调域
日历显示回调 -756 DTN_FORMATA DTP控件中的文本需要显示在回调域中
日历显示尺寸 -755 DTN_FORMATQUERYA DTP控件中的文本显示所需最大尺寸
日历显示月历 -754 DTN_DROPDOWN DTP控件中的月历控件将要显示
日历关闭月历 -753 DTN_CLOSEUP DTP控件中的月历控件将要关闭

超组合框——通知消息:

中文名字 常量数值 英文名称 释义
控件设置光标 -17 NM_SETCURSOR 控件响应消息要设置光标
组框显示信息 -800 CBEN_GETDISPINFOA 获取组框控件的回调条目的显示信息
组框插入条目 -801 CBEN_INSERTITEM 一个新条目已插入到组框控件
组框删除条目 -802 CBEN_DELETEITEM 组框控件的某条目已被删除
组框激活编辑 -804 CBEN_BEGINEDIT 用户激活下拉列表或点击组框控件的编辑框
组框结束编辑 -805 CBEN_ENDEDITA 用户已结束对组框控件的编辑框的操作或选择了下拉列表
组框完成编辑 -806 CBEN_ENDEDITW 用户已结束对组框控件的编辑框的操作或选择了下拉列表
组框信息显示 -807 CBEN_GETDISPINFOW 获取组框控件的回调条目的显示信息
组框拖起图像 -808 CBEN_DRAGBEGINA 用户开始拖动组框控件的编辑框中的条目图像
组框拖起条目 -809 CBEN_DRAGBEGINW 用户开始拖动组框控件的编辑框中的条目图像

伸缩条——通知消息:

中文名字 常量数值 英文名称 释义
控件自行绘制 -12 NM_CUSTOMDRAW 通知控件的父窗口有关自定义绘制操作的信息。
控件命中测试 -14 NM_NCHITTEST 当控件收到消息时,由 伸缩条 控件发送。④数据:NMMOUSE 结构
控件释放鼠标 -16 NM_RELEASEDCAPTURE 控件要释放鼠标捕捉
伸缩高度改变 -831 RBN_HEIGHTCHANGE 高度已被更改
伸缩放置目标 -832 RBN_GETOBJECT 对象被拖动到此控件中的带区上
伸缩更改布局 -833 RBN_LAYOUTCHANGED 用户更改此控件的带区布局
伸缩自动调整 -834 RBN_AUTOSIZE 控件自己自动调整大小
伸缩开始拖动 -835 RBN_BEGINDRAG 用户开始拖动带区
伸缩结束拖动 -836 RBN_ENDDRAG 用户停止拖动带区
伸缩将被删除 -837 RBN_DELETINGBAND 带区即将被删除
伸缩已被删除 -838 RBN_DELETEDBAND 带区已被删除
伸缩调整子窗 -839 RBN_CHILDSIZE 调整带区的子窗口大小

IP控件——通知消息:

IP框允许用户以易于理解的格式输入 IP 地址。 此控件还允许应用程序以数字形式而不是文本形式获取地址。
中文名字 常量数值 英文名称 释义
IP框内容改变 -860 IPN_FIELDCHANGED 更改控件中的字段或从一个字段移动到另一个字段
发送消息——常数表
IP框清除内容 $464 IPM_CLEARADDRESS 清除 IP 地址控件的内容。③参数:0;④数据:0
IP框设置地址 $465 IPM_SETADDRESS 设置 IP 地址控件中所有四个字段的地址值。 ③参数:0;④数据:32位IP地址
IP框获取地址 $466 IPM_GETADDRESS 获取 IP 地址控件中所有四个字段的地址值。 ③参数:0;④数据:@地址
IP框设置范围 $467 IPM_SETRANGE 设置 IP 地址控件中指定字段的有效范围。③参数:0-3字段;④数据:低/高(各1字节)
IP框设置焦点 $468 IPM_SETFOCUS 将键盘焦点选中为控件中的指定字段。 ③参数:0-3字段;④数据:0
IP框是否为空 $469 IPM_ISBLANK 确定控件中的所有字段是否为空。③参数:0;④数据:0

状态栏——通知消息:

状态栏是父窗口底部的水平窗口,应用程序可在其中显示各种状态信息。 状态栏可以分为多个部分以显示多种类型的信息。
中文名字 常量数值 英文名称 释义
控件单击左键 -2 NM_CLICK 用户在控件上点击了鼠标左键。④数据:NMMOUSE 结构
控件双击左键 -3 NM_DBLCLK 用户在控件上双击了鼠标左键。④数据:NMMOUSE 结构
控件单击右键 -5 NM_RCLICK 用户在控件上点击了鼠标右键。④数据:NMMOUSE 结构
控件双击右键 -6 NM_RDBLCLK 用户在控件上双击了鼠标右键。④数据:NMMOUSE 结构
状态模式改变 -880 SBN_SIMPLEMODECHANGE 状态栏简单模式发生改变
发送消息——常数表
状态设置文本 0x401 SB_SETTEXTA 设置状态窗口的指定部分中的文本。③参数:序号/样式(各1字节);④数据:内容文本;
序号=255单窗口;样式=0凹陷边框,0x100无边框,0x200凸起边框,0x400反向显示,0x800忽略制表,0x1000父窗口绘制
状态获取文本 0x402 SB_GETTEXTA 从状态窗口的指定部分检索文本。③参数:序号;④数据:文本;
状态获取长度 0x403 SB_GETTEXTLENGTHA 从状态窗口的指定部分检索文本的字数。③参数:序号;④数据:0;返回值:低字=字数,高字=样式
状态设置部件 0x404 SB_SETPARTS 设置状态窗口中的部件数以及每个部件右边缘的坐标。③参数:数量;④数据:整数数组;
状态获取部件 0x406 SB_GETPARTS 获取状态窗口中的部件数以及每个部件右边缘的坐标。③参数:数量;④数据:整数数组;返回部件数
状态获取边框 0x407 SB_GETBORDERS 获取状态窗口的水平边框和垂直边框的当前宽度。③参数:0;④数据:3整数=0宽度,1高度,2边框宽;
状态最小高度 0x408 SB_SETMINHEIGHT 设置状态窗口绘图区域的最小高度。③参数:高度;④数据:0;
状态简单样式 0x409 SB_SIMPLE 指定状态窗口是显示简单文本还是上一个设置部件。③参数:是否简单;④数据:0;
状态边框矩形 0x40A SB_GETRECT 检索状态窗口中部件的边框。③参数:序号;④数据:矩形;
状态设置文字 0x40B SB_SETTEXTW 设置状态窗口的指定部分中的文本。③参数:序号/样式(各1字节);④数据:内容文本;
状态获取字数 0x40C SB_GETTEXTLENGTHW 从状态窗口的指定部分检索文本的字数。③参数:序号;④数据:0;返回值:低字=字数,高字=样式
状态获取文字 0x40D SB_GETTEXTW 从状态窗口的指定部分检索文本。③参数:序号;④数据:文本;
状态是否简单 0x40E SB_ISSIMPLE 检查状态栏控件以确定它是否处于简单模式。③参数:0;④数据:0;
状态设置图标 0x40F SB_SETICON 设置状态栏中部件的图标。③参数:序号;④数据:图标;
状态设置提示 0x410 SB_SETTIPTEXTA 设置状态栏中部件的工具提示文本。③参数:序号;④数据:文本;
状态修改提示 0x411 SB_SETTIPTEXTW 设置状态栏中部件的工具提示文本。③参数:序号;④数据:文本;
状态获取提示 0x412 SB_GETTIPTEXTA 检索状态栏中部件的工具提示文本。③参数:序号/大小;④数据:文本;
状态获得提示 0x413 SB_GETTIPTEXTW 检索状态栏中部件的工具提示文本。③参数:序号/大小;④数据:文本;
状态获取文本 0x414 SB_GETICON 检索状态栏中部件的图标。③参数:序号;④数据:0;
控件设置宽字 0x2005 CCM_SETUNICODEFORMAT 设置控件的 Unicode 字符格式标志。③参数:是否宽字;④数据:0;
控件获取宽字 0x2006 CCM_GETUNICODEFORMAT 获取控件的 Unicode 字符格式标志。③参数:0;④数据:0;

分页导航——通知消息:


分页控件是一个窗口容器,与没有足够的显示区域来显示其所有内容的窗口一起使用。 寻呼控件允许用户滚动到当前不在视图中的窗口区域。
中文名字 常量数值 英文名称 释义
控件释放鼠标 -16 NM_RELEASEDCAPTURE 控件要释放鼠标捕捉
分页开始滚动 -901 PGN_SCROLL 所包含窗口即将被滚动。④数据:NMPGSCROLL 结构
分页滚动尺寸 -902 PGN_CALCSIZE 获得所包含窗口的可滚动尺寸。④数据:NMPGCALCSIZE 结构
分页热项更改 -903 PGN_HOTITEMCHANGE 通知父窗口突出显示的热项已更改。④数据:NMPGHOTITEM 结构
发送消息——常数表
分页设置窗口 0x1401 PGM_SETCHILD 设置页码控件的包含窗口。③参数:0;④数据:窗口
分页重算大小 0x1402 PGM_RECALCSIZE 强制控件重新计算包含窗口的大小。③参数:0;④数据:0
分页鼠标转发 0x1403 PGM_FORWARDMOUSE 为页码控件启用或禁用鼠标转发。③参数:是否转发;④数据:0
分页设置背景 0x1404 PGM_SETBKCOLOR 设置页码控件的当前背景色。③参数:0;④数据:颜色
分页获取背景 0x1405 PGM_GETBKCOLOR 获取页码控件的当前背景色。③参数:0;④数据:0
分页设置边框 0x1406 PGM_SETBORDER 设置页码控件的当前边框大小。③参数:0;④数据:像素
分页获取边框 0x1407 PGM_GETBORDER 获取页码控件的当前边框大小。③参数:0;④数据:0
分页设置位置 0x1408 PGM_SETPOS 设置页码控件的当前滚动位置。③参数:0;④数据:位置
分页获取位置 0x1409 PGM_GETPOS 获取页码控件的当前滚动位置。③参数:0;④数据:0
分页设置按钮 0x140A PGM_SETBUTTONSIZE 设置页码控件的当前按钮大小。③参数:0;④数据:像素
分页获取按钮 0x140B PGM_GETBUTTONSIZE 获取页码控件的当前按钮大小。③参数:0;④数据:0
分页按钮状态 0x140C PGM_GETBUTTONSTATE 设置页码控件指定按钮的状态。③参数:0;④数据:像素
分页拖放接口 0x2004 PGM_GETDROPTARGET 获取页码控件的 IDropTarget 接口指针。③参数:0;④数据:@接口
分页超时行数 0x140D PGM_SETSCROLLINFO 设置超时值、每超时行数和每行像素。③参数:超时数;④数据:超时行数/每行像素(各2字节)

链接框——通知消息:

中文名字 常量数值 英文名称 释义
控件单击左键 -2 NM_CLICK 用户在控件上点击了鼠标左键
发送消息——常数表
链接是否点击 0x700 LM_HITTEST 确定用户是否单击了指定链接。③参数:0;④数据:LHITTESTINFO 结构
链接首选高度 0x701 LM_GETIDEALHEIGHT 检索控件当前宽度的链接的首选高度。③参数:0;④数据:0
链接修改属性 0x702 LM_SETITEM 设置项的状态和属性。③参数:0;④数据:LITEM 结构
链接获取属性 0x703 LM_GETITEM 检索项的状态和属性。③参数:0;④数据:LITEM 结构

热键框——通知消息:


很多程序都有自定义热键的功能,但往往都是有几种组合键可以选择。而按键有两百多种,
加上SHIFT、CTRL、ATLT等组合,让用户输入任意组合就太复杂,还容易写错。
使用热键框可以显示用户按下的组合键,并获取它的键值,给指定窗口设置热键。
程序段 按钮1_点击
  整数 键值=发送消息(热键框1, 热键获取按键, 0, 0)
  发送消息(窗体, 设置热键, 键值, 0)
结束

中文名字 常量数值 英文名称 释义
热键设置按键 0x401 HKM_SETHOTKEY 设置热键控件的热键组合。③参数:键码/修饰符(各1字节);④数据:0
热键获取按键 0x402 HKM_GETHOTKEY 获取热键控件的键码和修饰符标志。③参数:0;④数据:0;返回值1SHIFT,2CTRL,4ALT,8扩展
热键设置组合 0x403 HKM_SETRULES 定义热键控件的无效组合和默认修饰符组合。③参数:标志,1无,2SHIFT,4CTRL,8ALT,16S+C,32S+A,64C+A,128SCA;④数据:组合1SHIFT,2CTRL,4ALT,8扩展;

富编辑——通知消息:

只写 ④数据 为控件事件;同时写 ③参数④数据 或不写时为单击左键
中文名字 常量数值 英文名称 释义
编辑窗口更改 0x0300 EN_CHANGE 通知无窗口富编辑控件的主机窗口发生了更改。④数据:CHANGENOTIFY 结构
编辑键盘鼠标 0x0700 EN_MSGFILTER 通知富编辑控件的父窗口,该控件中的键盘或鼠标事件。④数据:MSGFILTER 结构
编辑超出大小 0x0701 EN_REQUESTRESIZE 通知富编辑控件的父窗口,控件的内容小于或大于控件的窗口大小。④数据:REQRESIZE 结构
编辑选字更改 0x0702 EN_SELCHANGE 通知富编辑控件的父窗口当前所选内容已更改。④数据:SELCHANGE 结构
编辑文件拖放 0x0703 EN_DROPFILES 通知富编辑控件父窗口,用户正在尝试将文件拖放到控件中。④数据:ENDROPFILES 结构
编辑保护文本 0x0704 EN_PROTECTED 通知富编辑控件的父窗口,用户正在执行的操作将更改受保护的文本范围。④数据:ENPROTECTED 结构
编辑校正手势 0x0705 EN_CORRECTTEXT 通知富编辑控件父窗口发生了SYV_CORRECT手势,使父窗口有机会取消更正文本。④数据:ENCORRECTTEXT 结构
编辑撤销不足 0x0706 EN_STOPNOUNDO 通知富编辑控件的父窗口该控件无法为其分配足够的内存来维持撤消状态。④数据:NMHDR 结构
编辑换输入法 0x0707 EN_IMECHANGE 通知富编辑控件的父级 IME 转换状态已更改。③参数:标识/代码;④数据:控件
编辑存剪切板 0x0708 EN_SAVECLIPBOARD 通知富编辑控件的父窗口控件正在关闭,并且剪贴板包含信息。④数据:ENSAVECLIPBOARD 结构
编辑对象失败 0x0709 EN_OLEOPFAILED 通知富编辑控件的父窗口,用户对组件对象模型(COM)对象的操作失败。④数据:ENOLEOPFAILED 结构
编辑对象读取 0x070A EN_OBJECTPOSITIONS 当控件在对象中读取时,通知富编辑控件的父窗口。④数据:OBJECTPOSITIONS 结构
编辑链接通知 0x070B EN_LINK 控件在收到各种消息时发送EN_LINK通知代码。④数据:ENLINK 结构
编辑拖放完成 0x070C EN_DRAGDROPDONE 通知富编辑控件的父窗口拖放操作已完成。④数据:NMHDR 结构
编辑展开大纲 0x070D EN_PARAGRAPHEXPANDED 通知富编辑控件的父级已展开大纲。④数据:NMHDR 结构
编辑页面更改 0x070E EN_PAGECHANGE 通知富编辑控件的父窗口页面已更改。
编辑无效字符 0x070F EN_LOWFIRTF 通知控件的父窗口收到不支持的RTF格式关键字。④数据:ENLOWFIRTF 结构
编辑从左到右 0x0710 EN_ALIGNLTR 通知富编辑控件的父窗口段落方向已更改为从左到右。③参数:标识/代码;④数据:控件
编辑从右到左 0x0711 EN_ALIGNRTL 通知富编辑控件的父窗口段落方向更改为从右到左。③参数:标识/代码;④数据:控件
编辑特定粘贴 0x0712 EN_CLIPFORMAT 通知富编辑控件的父窗口,特定剪贴板格式发生粘贴。④数据:CLIPBOARDFORMAT 结构
编辑输入服务 0x0713 EN_STARTCOMPOSITION 通知用户开始使用IME或文本服务框架键入的丰富编辑控件父窗口。④数据:NMHDR 结构
编辑完成输入 0x0714 EN_ENDCOMPOSITION 用户已输入新数据或已完成使用IME或文本服务框架的输入数据。④数据:ENDCOMPOSITIONNOTIFY 结构

滑块条——通知消息:


中文名字 常量数值 英文名称 释义
控件自行绘制 -12 NM_CUSTOMDRAW 通知控件的父窗口有关自定义绘制操作的信息。④数据:NMCUSTOMDRAW 结构的 dwItemSpec 成员:1边缘显示刻度,2拇指标记,3拇指沿轨道滑动
控件释放鼠标 -16 NM_RELEASEDCAPTURE 通知控件的父窗口控件要释放鼠标捕捉
滑块位置更改 -1502 TRBN_THUMBPOSCHANGING 通知跟踪条上的拇指位置正在更改。④数据:NMTRBTHUMBPOSCHANGING 结构
水平滚动 $0114 WM_HSCROLL 当窗口的标准水平滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点左键,1点右/下键,2点滑块左,3点滑块右,4按住滑块,
5拖动滑块,6按home,7按END,8释放按键;高位=滑块当前位置;④数据:控件
垂直滚动 $0115 WM_VSCROLL 当窗口的标准垂直滚动条产生一个滚动事件时,发送本消息给该窗口。③参数:低位=0点上键,1点下键,2点滑块上方,3点滑块下方,4按住滑块,
5拖动滑块,6按home,7按END,8释放按键;高位=滑块当前位置;④数据:控件

影音动画——通知消息:

单击按钮事件的高位值为事件代码
发送消息(影音,动画打开文件,0,"D:\sec.avi")打开视频文件
发送消息(影音,动画开始播放,1,$FFFF0000)播放视频文件
发送消息(影音,动画停止播放,0,0)停止播放视频文件
中文名字 常量数值 英文名称 释义
动画开始事件 1 ACN_START 通知动画控件的父窗口关联的AVI剪辑已开始播放。③参数:标识/代码;④数据:控件
动画停止事件 2 ACN_STOP 通知动画控件的父窗口关联的 AVI 剪辑已停止播放。 ③参数:标识/代码;④数据:控件
发送消息——常数表
动画打开文件 $464 ACM_OPENA 打开 AVI 剪辑并在动画控件中显示其第一帧。③参数:0/实例;④数据:路径/资源标识
动画开始播放 $465 ACM_PLAY 在动画控件中播放 AVI 剪辑。 ③参数:次数,-1无限;④数据:开头/结尾
动画停止播放 $466 ACM_STOP 停止在动画控件中播放 AVI 剪辑。 ③参数:0;④数据:0
动画视频文件 $467 ACM_OPENW 打开 AVI 剪辑并在动画控件中显示其第一帧。③参数:0/实例;④数据:路径/资源标识
动画是否播放 $468 ACM_ISPLAYING 检查是否正在播放AVI剪辑。 ③参数:0;④数据:0

图像列表——通知消息:

使用图像列表可以为其它控件提供显示图标
图像列表(数量,大小,格式)格式:0=位图1图标2光标。
添加指定数量和大小的图像到列表,默认从图像目录下名称为0的文件开始加载
在程序目录下新建一个图像的文件夹,把图片文件从0开始递增排序,如0.bmp,1.bmp
位图扩展名是bmp,图标扩展名是ico,光标扩展名是cur
中文名字 英文名称 常量数值 释义
图像掩码 ILC_MASK 0x00001 使用掩码。 图像列表包含两个位图,其中一个是用作蒙板的单色位图。 如果未包含此值,则图像列表仅包含一个位图。
图像颜色 ILC_COLOR 0x00000 如果未指定其他ILC_COLORx标志,请使用默认行为。 通常,默认值为ILC_COLOR4,但对于较旧的显示驱动程序,默认值为ILC_COLORDDB。
图像位色 ILC_COLORDDB 0x000FE 使用与设备相关的位图。
图像四位 ILC_COLOR4 0x00004 使用 4 位 (16 色) 与设备无关的位图 (DIB) 部分作为图像列表的位图。
图像八位 ILC_COLOR8 0x00008 使用 8 位 DIB 节。 用于颜色表的颜色与半色调调色板的颜色相同。
图像16位 ILC_COLOR16 0x00010 使用 16 位 (32/64k 彩色) DIB 部分。
图像24位 ILC_COLOR24 0x00018 使用 24 位 DIB 节。
图像32位 ILC_COLOR32 0x00020 使用 32 位 DIB 节。
图像粘贴 ILC_PALETTE 0x00800 未实现。
图像镜图 ILC_MIRROR 0x02000 镜像包含的图标(如果进程已镜像)
图像插入 ILC_PERITEMMIRROR 0x08000 导致镜像代码在插入一组图像时镜像每个项,而不是整个条带。
图像小于 ILC_ORIGINALSIZE 0x10000 Windows Vista 及更高版本。 Imagelist 应接受小于设置的图像,并根据添加的图像应用原始大小。
图像预留 ILC_HIGHQUALITYSCALE 0x20000 Windows Vista 及更高版本。 保留。

用户控件——通知消息:

创建静态图片框,选择自绘控件风格,可以用来绘制图片和文字。目前,以下控件支持自定义绘制功能:
标头控件 NMCUSTOMDRAW 结构
表格框 NMLVCUSTOMDRAW 结构
伸缩条 NMCUSTOMDRAW 结构
工具栏 NMTBCUSTOMDRAW 结构
工具提示 NMTTCUSTOMDRAW 结构
滑动条 NMCUSTOMDRAW 结构
树表框 NMTVCUSTOMDRAW 结构
中文名字 常量数值 英文名称 释义
控件自行绘制 -12 NM_CUSTOMDRAW 通知控件的父窗口有关自定义绘制操作的信息。
自绘控件 13 SS_OWNERDRAW 静态控件的所有者负责绘制控件。每当需要绘制控件时,所有者窗口都会收到 外观改变 消息。
外观改变 $002B WM_DRAWITEM 按钮、组合框、列表框、菜单的外观改变时会发送本消息给这些控件的所有者。④数据:DRAWITEMSTRUCT 结构
posted @ 2023-12-02 09:00  火轮  阅读(112)  评论(0)    收藏  举报