编辑框——控件消息
发送消息(编辑框1,设置文本,0,"文字内容") 这个代码可以修改编辑框里的内容
文本 内容[64];整数 长度=发送消息(编辑框1,获取文本,64,内容) 这个代码可以获取编辑框的内容
发送消息(编辑框1,编辑替换,真,"插入替换的文字") 替换编辑框1选中的内容,若无选中向光标处插入文本
发送消息(编辑框1,编辑选中,3,9) 控制选中编辑框1选中的从第3到第9个字之间的内容
文本 内容[120]=120;发送消息(编辑框1,编辑取行,2,内容) 获取编辑框1第三行文字到内容缓冲区,要先写入长度数值
中文名字 | 常量数值 | 英文名称 | 释义 |
编辑获得焦点 | 0x100 | EN_SETFOCUS | 在编辑控件收到键盘焦点时发送。 ③参数:控件号/通知码;④数据:编辑框 |
编辑失去焦点 | 0x200 | EN_KILLFOCUS | 在编辑控件失去键盘焦点时发送。 ③参数:控件号/通知码;④数据:编辑框 |
编辑内容更改 | 0x300 | EN_CHANGE | 已更改编辑控件中的文本时发送。 ③参数:控件号/通知码;④数据:编辑框 |
编辑更新重绘 | 0x400 | EN_UPDATE | 在编辑控件即将重绘自身时发送。 ③参数:控件号/通知码;④数据:编辑框 |
编辑内存不足 | 0x500 | EN_ERRSPACE | 当编辑控件无法分配足够的内存时发送。 ③参数:控件号/通知码;④数据:编辑框 |
编辑字数超出 | 0x501 | EN_MAXTEXT | 当前文本插入超过编辑控件的指定字符数时发送。 ③参数:控件号/通知码;④数据:编辑框 |
编辑水平滚动 | 0x601 | EN_HSCROLL | 当用户单击编辑控件的水平滚动条时发送。 ③参数:控件号/通知码;④数据:编辑框 |
编辑垂直滚动 | 0x602 | EN_VSCROLL | 单击垂直滚动条或滚动鼠标滚轮时发送。 ③参数:控件号/通知码;④数据:编辑框 |
编辑从左向右 | 0x700 | EN_ALIGN_LTR_EC | 当用户将编辑控件方向更改为从左到右时发送。 ③参数:控件号/通知码;④数据:编辑框 |
编辑从右向左 | 0x701 | EN_ALIGN_RTL_EC | 当用户将编辑控件方向更改为从右到左时发送。 ③参数:控件号/通知码;④数据:编辑框 |
绘制编辑 | $0133 | WM_CTLCOLOREDIT | 当一个编辑框控件将要被绘制时,发送本消息给其父窗; 可用来设置编辑框的文本和背景色。 ③参数:设备;④数据:控件 |
发送消息——常数表 | |||
---|---|---|---|
编辑所选 | $B0 | EM_GETSEL | 获取光标位置(④数据)或取得编辑控件中选定内容的范围 (③参数为起点,④数据为终点)。 返回值中低16位为起点,高16位为终点 |
编辑选中 | $B1 | EM_SETSEL | 设置编辑控件中文本选定内容范围(或设置光标位置) ③参数为起点,④数据为终点。 |
编辑矩形 | $B2 | EM_GETRECT | 获取编辑控件的格式矩形(控件在其中绘制文本的限制矩形) 在④数据中获取 |
编辑范围 | $B3 | EM_SETRECT | 设置多行编辑控件的格式矩形(绘制范围)。 它与编辑控件窗口的大小无关。在④数据中指定矩形 |
编辑大小 | $B4 | EM_SETRECTNP | 设置多行编辑控件的格式矩形。 与编辑范围的区别是不重绘编辑控件窗口。 |
编辑竖翻 | $B5 | EM_SCROLL | 在多行编辑控件中垂直滚动文本。 ③参数:0上滚一行 1下滚一行 2上滚一页 3下滚一页 |
编辑滚动 | $B6 | EM_LINESCROLL | 滚动多行编辑控件中的文本。 ③参数:水平滚动字数(富文本框为0) ④数据:垂直滚动的行数。 |
编辑滚点 | $B7 | EM_SCROLLCARET | 将插入点(光标)滚动到编辑控件的视图中。 ③参数:0;④数据:0 |
编辑状态 | $B8 | EM_GETMODIFY | 获取编辑控件的修改标志的状态。 ③参数:0;④数据:0,返回值非零表示编辑控件的内容已修改 |
编辑修改 | $B9 | EM_SETMODIFY | 设置或清除编辑控件的修改标志。 ③参数用真或假指定修改标志的状态。 |
编辑行数 | $BA | EM_GETLINECOUNT | 获取多行编辑控件中的行数。 ③参数:0;④数据:0,返回行数。 |
编辑行位 | $BB | EM_LINEINDEX | 获取多行编辑控件中指定行的第一个字符的字符索引。 也就是从开头的第几个字,③参数:行号 -1表示光标所在行 |
编辑指针 | $BC | EM_SETHANDLE | 设置多行编辑控件将使用的内存的句柄。 ③参数:指定新的内存缓冲区 |
编辑手柄 | $BD | EM_GETHANDLE | 获取当前为多行编辑控件的文本分配的内存的句柄。 ③参数:0;④数据:0,返回句子手柄 |
编辑滑块 | $BE | EM_GETTHUMB | 获取多行编辑控件垂直滚动条中滚动框 (滑块) 的位置。 ③参数:0;④数据:0,返回滑块位置 |
编辑行字 | $C1 | EM_LINELENGTH | 检索编辑控件中行的字符数。③参数:第几个字,-1是光标处 |
编辑替换 | $C2 | EM_REPLACESEL | 将编辑控件中的选定文本或丰富的编辑控件替换为指定的文本 ③参数为真可撤销,④数据是文本指针 |
编辑取行 | $C4 | EM_GETLINE | 从编辑控件复制一行文本,并将其置于指定的缓冲区中 ③参数:行号(0开始),④数据:接收内容的文本指针 |
编辑限字 | $C5 | EM_LIMITTEXT | 设置编辑控件的文本限制最大字数。 ③参数:限制字数 |
编辑可撤 | $C6 | EM_CANUNDO | 确定编辑控件的撤消队列中是否有任何操作。 ③参数:0;④数据:0,返回非0表示可以进行撤销 |
编辑撤销 | $C7 | EM_UNDO | 此消息撤消控件队列中最后一次编辑控件操作。 ③参数:0;④数据:0,返回真表示撤销成功 |
编辑软行 | $C8 | EM_FMTLINES | 设置一个标志,用于确定多行编辑控件是否包含软换行符 (两个回车加一换行符,英文断词用)。 ③参数为真是可以有,为假则清除 |
编辑字行 | $C9 | EM_LINEFROMCHAR | 获取包含多行编辑控件中指定字符索引的行的索引。 ③参数:第几个字,-1是光标所在行 |
编辑制表 | $CB | EM_SETTABSTOPS | 设置多行编辑控件中的制表位。 ③参数:制表位数目,④数据:制表位数组 |
编辑密码 | $CC | EM_SETPASSWORDCHAR | 设置或删除编辑控件的密码字符。 ③参数:取代内容文字的字符,为0时恢复文字显示 |
编辑重置 | $CD | EM_EMPTYUNDOBUFFER | 重置编辑控件的撤消标志。 ③参数:0;④数据:0。 |
编辑上字 | $CE | EM_GETFIRSTVISIBLELINE | 获取多行编辑控件中最上端可见行的从零开始的索引。 ③参数:0;④数据:0 |
编辑只读 | $CF | EM_SETREADONLY | 设置或删除编辑控件的只读样式。 ③参数为真是只读,为假是可写;④数据:0。 |
编辑函数 | $D0 | EM_SETWORDBREAKPROC | 将编辑控件的默认 文字显示处理 函数替换为应用程序 自定义的处理函数。③参数:0;④数据:编辑框断字 |
编辑地址 | $D1 | EM_GETWORDBREAKPROC | 获取编辑控件的默认 文字显示处理 函数的地址。 ③参数:0;④数据:0,返回地址。 |
编辑密字 | $D2 | EM_GETPASSWORDCHAR | 获取编辑控件在用户输入文本时显示的密码字符。 ③参数:0;④数据:0,返回字符。 |
编辑边距 | $D3 | EM_SETMARGINS | 设置编辑控件的左右边距的宽度。 ③参数:1是左边距 2右边距 ④数据:低位左边距,高位右边距 |
编辑边宽 | $D4 | EM_GETMARGINS | 获取编辑控件的左右边距的宽度。 ③参数:0;④数据:0,返回低位是左边宽,高位是右边宽。 |
编辑字限 | $D5 | EM_GETLIMITTEXT | 获取编辑控件的当前文本限制。 ③参数:0;④数据:0,返回限制字数 |
编辑坐标 | $D6 | EM_POSFROMCHAR | 检索编辑控件中指定字符的工作区坐标。 ③参数:字的索引,返回低位是左,高位是顶 |
编辑点字 | $D7 | EM_CHARFROMPOS | 获取与编辑控件的工作区中指定点最接近的字符的信息。 ④数据:富文本框是坐标结构指针,普通框是整数。 低位左,高位顶。返回指定位置字的索引,编辑框高位 包含该行的字索引。 |
编辑交互 | $D8 | EM_SETIMESTATUS | 设置编辑控件如何与输入法编辑器交互。 ③参数:1组合字符串;④数据:1返回结果字符串, 2焦点取消组合字符串,3失去焦点完成组合字符串 |
编辑方式 | $D9 | EM_GETIMESTATUS | 获取编辑控件如何与输入法编辑器交互。 ③参数:1组合字符串;④数据:0;返回值:1立即返回 结果字符串,2焦点取消组合字符串,3失去焦点完成组合字符串 |
左边编距 | $1 | EC_LEFTMARGIN | ③参数的值,设置编辑控件的左边距的宽度。 |
右边编距 | $2 | EC_RIGHTMARGIN | ③参数的值,设置编辑控件的右边距的宽度。 |
精细编距 | $0FFFF | EC_USEFONTINFO | ③参数的值,设置编辑控件的边距的精细宽度。 |
编辑框断字——回调函数
中文名字 | 英文名称 | 参数 | 作用解释 |
编辑框断字 | Editwordbreakproca | 4 | 多行编辑控件或富编辑控件调用此函数来中断文本行 |
编辑框断字——参数表 | |||
---|---|---|---|
中文 | 英文 | 类型 | 作用解释 |
控件 | lpch | 整数 | 指向编辑控件文本的指针。 |
断点 | ichCurrent | 整数 | 文本缓冲区中字符位置的索引,该索引标识函数应开始检查断字符的点。 |
字数 | cch | 整数 | ANSI是字节数;Unicode是字数。 |
操作 | code | 整数 | 回调函数要执行的断字操作。 |
断字操作——常量定义
英文名称 | 数值 | 作用解释 |
WB_LEFT | 0 | 查找指定位置左侧的单词的开头。 |
WB_RIGHT | 1 | 查找指定位置右侧的单词的开头。 这在右对齐的编辑控件中很有用。 |
WB_ISDELIMITER | 2 | 检查指定位置处的字符是否为分隔符。 |
WB_CLASSIFY | 3 | 检索位于指定位置的字符的字符类和断字符标志。此值及以下用于丰富的编辑控件。 |
WB_MOVEWORDLEFT | 4 | 查找指定位置左侧的单词的开头。此值在 Ctrl+LEFT 键处理期间使用。 |
WB_MOVEWORDRIGHT | 5 | 查找指定位置右侧的单词的开头。 此值在 Ctrl+RIGHT 键处理期间使用。 |
WB_LEFTBREAK | 6 | 查找指定位置左侧的词尾分隔符。 |
WB_RIGHTBREAK | 7 | 查找指定位置右侧的词尾分隔符。 |