绘制控件——通知消息
如果是指定多个或多种控件的字体,可以在绘制控件消息时指定,
比如判断(消息) 为 绘制编辑{发送消息(数据,指定字体,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 | 绘制一个静态控件的背景色③参数:设备;④数据:控件 |
控件事件——控制消息
整数 数值=取控件数(窗体,1)
获取窗体上1号控件内文字,并转换成数值改控件数(窗体,2,数值,真)
把数值转换成文字显示到窗体上2号控件窗口文本 内容[16]=取控件字(窗体,3)
获取窗体上3号控件内文字改控件字(窗体,2,内容)
把文字内容显示到窗体上2号控件窗口判断(消息) 为 控件事件 公共事件(数据)调用公共事件这段程序代码,④数据:包含多项事件信息的数据
程序段 公共事件(数据) 整数 窗口=数据&,参数=.&4,事件=.&8 处理窗口(窗口,控件事件,参数,数据) 结束
数据地址里第一个整数是窗口,第二个整数是控件编号(对应窗体消息的参数),第三个整数是控件事件 这种事件是用负数表示,如-2是单击左键,-3是双击左键,具体参照下面:公用控件事件这个表
中文名字 | 常量数值 | 英文名称 | 释义 |
绘制控件 | $0019 | WM_CTLCOLOR | 在每个控件开始绘制之前,都会向其父窗口发送此消息, 可用来设置控件显示文本的前景色、背景色以及字体。 ③参数:设备;④数据:控件 |
控件创建 | $002C | WM_MEASUREITEM | 按钮、组合框、列表框、列表控件、菜单项被创建时会发送本消息给这些 控件的所有者。③参数:控件号;④数据:项目尺寸类 |
删除项目 | $002D | WM_DELETEITEM | 列表框或组合框被销毁或删除清空某些项时,会发送本消息给这些控件的 所有者。③参数:控件号;④数据: 项目删除类 |
新项位置 | $0039 | WM_COMPAREITEM | 可发送本消息来确定组合框(CBS_SORT)或列表框(LBS_SORT)中新增项 的相对位置。③参数:控件号;④数据:项目排序类 |
串口事件 | $0044 | WM_COMMNOTIFY | Win3.1中,当串口事件产生时,通讯设备驱动程序发送消息本消息给系统, 指示输入输出队列的状态。 |
控件事件 | $004E | WM_NOTIFY | 当某控件的某事件已发生或该控件需得到一些信息时,发送本消息给其父窗。 ③参数:控件号;④数据:NMHDR 结构 |
帮助按键 | $0053 | WM_HELP | 按下 否则就发送给有焦点的窗口;若当前都没有焦点,发给当前激活的窗口。 ③参数:0;④数据:帮助类 |
消息判断 | $0055 | WM_NOTIFYFORMAT | 公用控件、自定义控件和其父窗通过本消息判断控件在WM_NOTIFY通知 消息中是使用ANSI还是UNICODE。③参数:窗口;④数据:3控件,4父窗; 返回值:1ANSi,2UNICODE |
定时事件 | $0113 | WM_TIMER | 发生了定时器事件。③参数:编号;④数据:回调函数 |
公用控件事件——通知消息
中文名字 | 常量数值 | 英文名称 | 释义 |
控件内存不足 | -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结构 |
发送消息——常数表 | |||
---|---|---|---|
控件背景颜色 | 0x2001 | CCM_SETBKCOLOR | 此消息用于设置控件的背景颜色。 ③参数:0;④数据:颜色; |
控件设置配色 | 0x2002 | CCM_SETCOLORSCHEME | 此消息用于设置控件的颜色配置。 ③参数:0;④数据:COLORSCHEME; |
控件获取配色 | 0x2003 | CCM_GETCOLORSCHEME | 此消息用于获取控件的颜色配置。 ③参数:0;④数据:COLORSCHEME; |
控件拖放接口 | 0x2004 | CCM_GETDROPTARGET | 获取页码控件的 拖放目标对象 接口指针。 ③参数:0;④数据:@接口 |
控件设置宽字 | 0x2005 | CCM_SETUNICODEFORMAT | 设置控件的 Unicode 字符格式标志。 ③参数:是否宽字;④数据:0; |
控件获取宽字 | 0x2006 | CCM_GETUNICODEFORMAT | 获取控件的 Unicode 字符格式标志。 ③参数:0;④数据:0; |
控件设置版本 | 0x2007 | CCM_SETVERSION | 此消息用于通知控件与特定版本关联。 ③参数:版本;④数据:0; |
控件获取版本 | 0x2008 | CCM_GETVERSION | 获取控件设置的版本号。 ③参数:0;④数据:0; |
控件设置样式 | 0x200B | CCM_SETWINDOWTHEME | 此消息用于设置控件的视觉样式。 ③参数:0;④数据:样式(宽字符); |
控件启用缩放 | 0x200C | CCM_DPISCALE | (树表、表格、强组合框、标题、按钮、工具栏、 动画和图像列表)启用dpi缩放。③参数:真;④数据:0; |