编辑控制通知信息

【勇芳软件工作室】汉化HomePreviousNext

用户使用键盘和鼠标进行编辑请求。Windows以WM_COMMAND消息的形式向编辑控件的父窗口发送每个请求。该消息包括【wParam中】参数的低位字中的编辑控制标识符,【lParam的】参数中的编辑控件的句柄以及对应于用户在高位字中的动作的编辑控制通知消息的【wParam中】参数。

便携性问题在Microsoft Windows NT中,通知消息中的通知代码的位置已从【lParam的】参数移至【wParam中】参数。Windows 3.基于【x】的处理通知消息的应用程序必须在移植到Windows NT时修改此代码。

应用程序应检查每个通知消息并进行适当响应。下表列出了每个编辑控制通知消息和生成它的操作。

通知消息en用户操作
EN_CHANGE用户在编辑控件中修改了文本。发送此消息之前Windows会更新显示(与EN_UPDATE不同)。
EN_ERRSPACE编辑控件无法分配足够的内存来满足特定请求。
EN_HSCROLL用户点击了编辑控件的水平滚动条。Windows更新屏幕之前会发送此消息。
EN_KILLFOCUS用户选择了另一个控件。
EN_MAXTEXT在插入文本时,用户已经超出了编辑控件的指定数量的字符。插入已被截断。当编辑控件不具有ES_AUTOHSCROLL样式并且要插入的字符数超过编辑控件的宽度时,或编辑控件没有ES_AUTOVSCROLL样式并且总行数为插入超过编辑控件的高度。
EN_SETFOCUS用户已选择此编辑控件。
EN_UPDATE用户已更改编辑控件中的文本,Windows即将显示新文本。在格式化文本之后,Windows显示之前,Windows会发送此消息,以便应用程序可以调整编辑控件窗口的大小。
EN_VSCROLL用户点击了编辑控件的垂直滚动条。Windows更新屏幕之前会发送此消息。

此外,在绘制编辑控件之前,系统会向编辑控件的父窗口发送WM_CTLCOLOREDIT消息。该消息包含编辑控件的显示上下文(DC)的句柄和子窗口的句柄。父窗口可以使用这些句柄来更改编辑控件的文本和背景颜色。