极语言官方网站

绘制控件——通知消息

如果是指定多个或多种控件的字体,可以在绘制控件消息时指定,

比如判断(消息) 为 绘制编辑{发送消息(数据,指定字体,0,字体)}

绘制不同的控件可以指定不同的字体,如果要所有控件都指定同一种字体,

可以用 为 绘制弹窗 ~ 绘制静态{发送消息(数据,指定字体,0,字体)}

使用波浪线符号是从绘制弹窗 到 绘制静态的消息,包括弹窗,编辑框,列表框,按钮,对话框,滚动条,

静态标签框这些控件都指定为同一字体

在绘制控件的时候,第三参数为控件的设备,所以也可以用选择对象(参数,字体)来修改字体,但这个方法不支持按钮一类的控件

也可以在绘制控件时指定文字颜色和背景颜色,如:文本改色(参数,$C0FFFF) 改背景色(参数,$C0FF30)

改背景色适合编辑框,其它控件可以使用创建画刷($C0FFC0)来修改背景,或者使用固有对象(5)让背景透明,这里5是空画刷

绘制弹窗$0132WM_CTLCOLORMSGBOX系统绘制消息框前发送本消息给消息框的所有者窗口,
可用来设置消息框的文本和背景色③参数:设备;④数据:控件
绘制编辑$0133WM_CTLCOLOREDIT当一个编辑框控件将要被绘制时,发送本消息给其父窗;
可用来设置编辑框的文本和背景色③参数:设备;④数据:控件
绘制列表$0134WM_CTLCOLORLISTBOX当一个列表框控件将要被绘制前,发送本消息给其父窗;
可用来设置列表框的文本和背景色③参数:设备;④数据:控件
绘制按钮$0135WM_CTLCOLORBTN绘制按钮的背景色③参数:设备;④数据:控件
绘制对话$0136WM_CTLCOLORDLG绘制对话框的背景色③参数:设备;④数据:控件
绘制滚条$0137WM_CTLCOLORSCROLLBAR绘制滚动条的背景色③参数:设备;④数据:控件
绘制静态$0138WM_CTLCOLORSTATIC绘制一个静态控件的背景色③参数:设备;④数据:控件


控件事件——控制消息

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

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

文本 内容[16]=取控件字(窗体,3)获取窗体上3号控件内文字

改控件字(窗体,2,内容)把文字内容显示到窗体上2号控件窗口

判断(消息) 为 控件事件 公共事件(数据)调用公共事件这段程序代码,④数据:包含多项事件信息的数据

程序段 公共事件(数据)
  整数 窗口=数据&,参数=.&4,事件=.&8
  处理窗口(窗口,控件事件,参数,数据)
结束

数据地址里第一个整数是窗口,第二个整数是控件编号(对应窗体消息的参数),第三个整数是控件事件

这种事件是用负数表示,如-2是单击左键,-3是双击左键,具体参照下面:公用控件事件这个表

中文名字常量数值英文名称释义
绘制控件$0019WM_CTLCOLOR在每个控件开始绘制之前,都会向其父窗口发送此消息,
可用来设置控件显示文本的前景色、背景色以及字体。
③参数:设备;④数据:控件
控件创建$002CWM_MEASUREITEM按钮、组合框、列表框、列表控件、菜单项被创建时会发送本消息给这些
控件的所有者。③参数:控件号;④数据:项目尺寸类
删除项目$002DWM_DELETEITEM 列表框或组合框被销毁或删除清空某些项时,会发送本消息给这些控件的
所有者。③参数:控件号;④数据: 项目删除类
新项位置$0039WM_COMPAREITEM可发送本消息来确定组合框(CBS_SORT)或列表框(LBS_SORT)中新增项
的相对位置。③参数:控件号;④数据:项目排序类
串口事件$0044WM_COMMNOTIFYWin3.1中,当串口事件产生时,通讯设备驱动程序发送消息本消息给系统,
指示输入输出队列的状态。
控件事件$004EWM_NOTIFY当某控件的某事件已发生或该控件需得到一些信息时,发送本消息给其父窗。
③参数:控件号;④数据:NMHDR 结构
帮助按键$0053WM_HELP按下后,若某菜单是激活的,就发给此窗口关联的菜单;
否则就发送给有焦点的窗口;若当前都没有焦点,发给当前激活的窗口。
③参数:0;④数据:帮助类
消息判断$0055WM_NOTIFYFORMAT公用控件、自定义控件和其父窗通过本消息判断控件在WM_NOTIFY通知
消息中是使用ANSI还是UNICODE。③参数:窗口;④数据:3控件,4父窗;
返回值:1ANSi,2UNICODE
定时事件$0113WM_TIMER发生了定时器事件。③参数:编号;④数据:回调函数


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

中文名字常量数值英文名称释义
控件内存不足-1NM_OUTOFMEMORY内存不足,操作不能完成
控件单击左键-2NM_CLICK用户在控件上点击了鼠标左键
控件双击左键-3NM_DBLCLK用户在控件上双击了鼠标左键
控件按下回车-4NM_RETURN控件获得键盘焦点并按下回车键
控件单击右键-5NM_RCLICK用户在控件上点击了鼠标右键
控件双击右键-6NM_RDBLCLK用户在控件上双击了鼠标右键
控件得到焦点-7NM_SETFOCUS控件收到输入焦点
控件失去焦点-8NM_KILLFOCUS用户失去输入焦点
控件自行绘制-12NM_CUSTOMDRAW通知控件的父窗口有关自定义绘制操作的信息。
控件鼠标掠过-13NM_HOVER用户的鼠标掠过控件
控件命中测试-14NM_NCHITTEST当控件收到消息时,由 伸缩条 控件发送。
④数据:NMMOUSE 结构
控件按下键盘-15NM_KEYDOWN控件获得键盘焦点并按下某键
控件释放鼠标-16NM_RELEASEDCAPTURE控件要释放鼠标捕捉
控件设置光标-17NM_SETCURSOR控件响应消息要设置光标
控件键入字符-18NM_CHAR字符键被处理后由控件发送
控件工具提示-19NM_TOOLTIPSCREATED通知控件的父窗口控件已创建工具提示控件。
④数据:NMTOOLTIPSCREATED 结构
控件鼠标左键-20NM_LDOWN通知控件的父窗口已按下鼠标左键。
控件鼠标右键-21NM_RDOWN不支持此通知代码。
控件主题更改-22NM_THEMECHANGED通知控件的父窗口主题已更改。
控件字体更改-23NM_FONTCHANGED当控件更改字体时,由列表视图控件发送。
控件自定文本-24NM_CUSTOMTEXT通知控件的父窗口有关自定义文本操作的信息。
④数据:NMCUSTOMTEXT结构
发送消息——常数表
控件背景颜色0x2001CCM_SETBKCOLOR此消息用于设置控件的背景颜色。
③参数:0;④数据:颜色;
控件设置配色0x2002CCM_SETCOLORSCHEME此消息用于设置控件的颜色配置。
③参数:0;④数据:COLORSCHEME;
控件获取配色0x2003CCM_GETCOLORSCHEME此消息用于获取控件的颜色配置。
③参数:0;④数据:COLORSCHEME;
控件拖放接口0x2004CCM_GETDROPTARGET获取页码控件的 拖放目标对象 接口指针。
③参数:0;④数据:@接口
控件设置宽字0x2005CCM_SETUNICODEFORMAT设置控件的 Unicode 字符格式标志。
③参数:是否宽字;④数据:0;
控件获取宽字0x2006CCM_GETUNICODEFORMAT获取控件的 Unicode 字符格式标志。
③参数:0;④数据:0;
控件设置版本0x2007CCM_SETVERSION此消息用于通知控件与特定版本关联。
③参数:版本;④数据:0;
控件获取版本0x2008CCM_GETVERSION获取控件设置的版本号。
③参数:0;④数据:0;
控件设置样式0x200BCCM_SETWINDOWTHEME此消息用于设置控件的视觉样式。
③参数:0;④数据:样式(宽字符);
控件启用缩放0x200CCCM_DPISCALE(树表、表格、强组合框、标题、按钮、工具栏、
动画和图像列表)启用dpi缩放。③参数:真;④数据:0;