windows的消息传递--消息盒子
例如对windows发消息让文本选中。 SendMessage(Text1.hwnd,EM_GETSEL,0,-1 );
EC_LEFTMARGIN(&H1) EC_USEFONTINF //设置左边距时使用
EC_RIGHTMARGIN EC_USEFONTINF //设置右边距时使用
EC_USEFONTINF,O//边距 设置编辑控件的左、右边距,当wParam含EC_LEFTMARGIN时在lParam的低16位指定左边距点数,当wParam含EC_RIGHTMARGIN时在lParam的高16位指定右边距点数。当指定wParam为EC_USEFONTINFO时,则用当前字体的字符"A"的宽度指定右边距和字符"C"的宽度指定左边距lParam被忽略。
EM_CHARFROMPOS(&HD7=),, //取得编辑控件中指定位置的字符相对于文本头部的偏移量。使用本操作应先在第4个参数的高16位指定行号,低16位指定列号(或一个POINTAPI结构),行列是按编辑控件的客户区左上角为原点(,)计算的。如果指定的位置超出控件客户区则返回-
EM_CANUNDO(&HC6=),, //决定前一次编辑操作是否能够撤消:检测控件撤消缓冲区是否为空,通常控件把最后一次在控件的编辑操作保存在一个撤消缓冲区,如果缓冲区非空则返回TRUE表示上次操作可以撤消,否则返回FALSE,应用程序可以利用该返回值来禁止或允许菜单或工具条的"撤消"项。
EM_EMPTYUNDOBUFFER(&HCD= ),, //清除控件的撤消缓冲区,使其不能撤消前一次编辑操作
EM_FMTLINES(&HC8=) //决定是否在取回的文本宇串中包含软回车字符
EM_GETFIRSTVISIBLEINE(&HCE=),, //获得文本控件中处于可见位置的最顶部的文本所在的行号
EM_GETLINE(&HC4= )//行号,ByVal 变量 获取编辑控件某一行的内容,变量须预先赋空格
EM_GETLINECOUNT(&HBA=,,// 获取编辑控件的总行数
EM_GETMODIFY(&HB8=),, //判断编辑控件的内容是否已发生变化,返回TRUE则控件文本已被修改,返回FALSE则未变。
EM_GETPASSWORDCHAR( ),, //获取编辑控件的密码字符,返回NULL表示没有字符
EM_GETRECT(&HB2=),,结构 //获取编辑控件的格式化矩形
EM_GETTHUMB(&HBE=),, //取得多行文本编辑控件的滚动框的当前位置(注意:是象素值)
EM_GETSEL(&HB0=),,//变量 获取光标位置(以字节数表示),或:(缓冲区起点,缓冲区终点)取得编辑控件中选定内容的范围,返回值中低16位为起点,高16位为终点
EM_GETHANDLE(&HBD=),,// 取得文本缓冲区
EM_GETWORDBREAKPROC(&HD1=),, //取得整字换行回调函数EditWordBreakProc指针
EM_GETLIMITTEXT(WM_USER+=),, //获取一个编辑控件中文本的最大长度
EM_GETMARGINS( ),, //获取编辑控件的左、右边距,返回值低16位为左边距,高16位为右边距(不得用于NT3.)
EM_LIMITTEXT(&HC5=),//最大值, 设置编辑控件中的文本长度
EM_SCROLLCARET(&HB7=),, //把可见范围移至光标处
EM_LINEFROMCHAR(&HC9=),//偏移值, 获取指定位置(或:-, 表示光标位置)所在的行号
EM_LINEINDEX(&HBB=),//行号, 获取指定行(或:-, 表示光标所在行)首字符在文本中的位置(以字节数表示)
EM_LINELENGTH(&hC1=)//偏移值, 获取指定位置所在行(或:-, 表示光标所在行)的文本长度(以字节数表示)
EM_POSFROMCHARPOINT,结构地址,偏移值 取得指定字符位置的行列号,偏移值是字符相对于文本头部的偏移。
EM_LINESCROLL(&HB6=)//列数,行数 指定行数的文本水平滚动,每次滚动N列
EM_EXGETSEL (&H434 = )
EM_EXSETSEL(&H437=),//结构 RichEdit控件设置文本选定范围,参阅 EM_SETSEL 消息,结构是指 CHARRANGE 结构
EM_PASTESPECIAL(&H440=),(),// RichEdit控件粘贴剪贴板中的位图(或文本)
EM_FINDTEXT(&H738=) //RichEdit控件正文搜索操作
EM_FINDTEXTEX(&H44F=) //同上
EM_SETTEXTEX(&H461=) //RichEdit控件正文替换/插入操作
EM_SETTARGETDEVICE, GetDC(RichText.hWnd), RichText.Width // )设置 RichTextBox 自动换行,后续代码是:RichText.RightMargin = iif(RichText.RightMargin = ,,)
EM_SETTARGETDEVICE, , //设置 RichTextBox 不自动换行
EM_POSFROMCHAR(&HD6或&H426)// 判断指定字符在编辑控件的位置(用于NT3.)
EM_SCROLL(&HB5=),*, //文本垂直滚动。第三个参数*控制滚动方向:SB_LINEDOWN()向下滚动一行,SB_LINEUP()向上滚动一行,SB_PAGEDOWN()向下滚动一页,SB_PAGEUP()向上滚动一页。
EM_REPLACESEL(&HC2=),()//,字符串 用指定字符串替换编辑控件中的当前选定内容,如果第三个参数wParam为1,则本次操作允许撤消,禁止撤消。字符串可用传值方式,也可用传址方式(例:SendMessage Text1.hwnd, EM_REPLACESEL, , Text2.Text '这是传值方式)
EM_SETSEL(&HB1=)//,起点,终点 设置编辑控件中文本选定内容范围(或设置光标位置),该范围被反相显示,用于为复制、替换、粘贴、剪切、删除等编辑功能指定范围,光标将被移至指定的终点后面。还可使用指定相同起点和终点来移动光标而不是选定范围。当指定的起点等于0和终点等于-时,文本全部被选中,此法常用在清空编辑控件。当指定的起点等于-和终点等于-时,全文均不选,光标移至文本未端,此法常用在文本未端追加内容。注意:当控件没有输入焦点时,本操作将会失败,一般在执行本操作前都应调用SetFocus先取得输入焦点。
EM_UNDO(&HC7=),, //撤消前一次编辑操作,当重复发送本消息,控件将在撤消和恢复中来回切换
EM_SETCHARFORMAT(&H444)// 改变选定文本的颜色
EM_SETHANDLE(&HBC=),//缓冲区指针, 为编辑控件指定新的文本缓冲区。此操作仅适用对话框创建带DS_LOCALEDIT风格的控件。
EM_SETLIMITTEXT,长度(字节), //设置编辑控件中的文本最大长度(不得用于NT3.)
EM_SETMARGINS(&HD3=) //设置编辑控件的左、右边距(不得用于NT3.)
EM_SETMODIFY(&HB9=),(), //设置或清除一个编辑控件的修改标志
EM_SETPASSWORDCHAR(&HCC=),//字符, 指定控件用来显示密码的字符,缺省为"*"。当第三个参数wParam为0时,本操作将清除控件的ES_PASSWORD风格,并按实际字符显示。
EM_SETREADONLY(&HCF=),(), //决定是否将编辑控件设为只读,同时决定控件的ES_READONLY风格
EM_SETRECT(&HB3=),(或RECT),//结构地址 为一个编辑控件设置格式化矩形
EM_SETRECTNP(&HB4=),(或RECT)//,结构地址 为一个编辑控件设置格式化矩形,只是控件此时不会重画
EN_CHANGE(&H300=)// 编辑控件的内容发生改变。与EN_UPDATE不同,该消息是在编辑框显示的正文被刷新后才发出的。
EN_ERRSPACE(&H500=) //任何时候只要由于内存不足以完成一项编辑操作
EN_HSCROLL(&H601=)// 用户单击了编辑控件的水平滚动条。注意:这条消息是在控件更新显示之前发送出去的。
EN_VSCROLL(&H602=) //用户单击了编辑控件的垂直滚动条。注意:这条消息是在控件更新显示之前发送出去的。
EN_KILLFOCUS(&H200=) //编辑控件失去了输入焦点
EN_SETFOCUS(&H100=) //编辑控件获得了输入焦点
EN_UPDATE(&H400=) //控件准备显示改变了的正文时发送该消息。它与EN_CHANGE通知消息相似,只是它发生于更新文本显示出来之前。
EN_MAXTEXT(&H501=)// 用户输人的文字数超出由EM_LIMITTEXT消息规定的界限,或超出由VB Maxlength属性规定的界限,就会发送这条消息 。此外,倘若不允许自动进行水平滚动,同时插入点要超出控件的宽度;或者不允许自动垂直滚动,同时插入点要超出控件的高度,那么也会触发这条消息。在没有ES_AUTOHSCROLL或ES_AUTOVSCROLL的编辑框中,当正文超出了编辑框的边框时也会发出该消息。
编辑风格消息:
ES_MULTILINE //指定编辑控件能否进行多行文本编辑,若多行编辑器不指定ES_AUTOHSCROLL风格,则会自动换行,用户每按一次Enter,在当前光标处输入一个回车换行符(0Dh,0Ah),文本增加一行。若不指定ES_AUTOVSCROLL,则多行编辑器会在窗口中正文装满时发出警告声响。
ES_LEFT //文本显示居左?
ES_CENTER// 文本显示居中?
ES_RIGHT //文本显示居右?
ES_LOWERCASE //把用户输入的字母统统转换成小写字母?
ES_UPPERCASE// 把用户输入的字母统统转换成大写字母?
ES_OEMCONVERT // 把输入的文本从ANSI码转换成OEM码,然后又转换成ANSI码,目的是保证函数AnsiToOem的正确调用。这在编辑框中包含文件名时是很有用的。
ES_AUTOHSCROLL(自动增加水平滚动条?) 当用户在行尾键入一个字符时,正文将自动向右滚动10个字符,当用户按回车键时,正文总是滚向左边。
ES_AUTOVSCROLL // 当用户在最后一个可见行按回车键时,正文向上滚动一页。
ES_NUMBER //只接收数码输入,其它字符输入一律无效。
ES_NOHIDESEL(&H100=) //当编辑框失去输入焦点时,选中的文本将隐藏,正文中的选择保持不变。缺省时正文中的选择将失效,当获得输入焦点后才又显示出来。
ES_READONLY 将编辑框设置成只读的?
ES_PASSWORD(&H20=) //使所有键入的字符都用"*"来显示。
ES_WANTRETURN //使多行编辑器接收回车键输入并换行。如果不指定该风格,按回车键会选择缺省的命令按钮,这往往会导致对话框的关闭。
列表框操作:
LB_FINDSTRING(&H18F=),-,ByVal //字串 查找列表项的字符串,返回值=字符串所在的列表项的索引。-表示从第0行开始查找,如果改为一个有效的列表项索引值,将从该行开始查找。
LB_ITEMFROMPOINT(&H1A9=) //获取光标所在的列表项的索引
LB_SETHORIZONTALEXTENT(&H194=),//长度, 设置列表框的横向滚动条以及滚动长度,长度为象素值
组合框操作:
CB_SHOWDROPDOWN(&H14F),(),// 打开(关闭)组合框的列表
TVM_SETBKCOLOR(&H1100+=)// 设置扩展树型列表控件的背景色(TVM开头的常数)
常用窗口消息:
WM_GETFONT(&H31=)// 得到当前控件绘制文本的字体(的句柄)
WM_GETTEXT(&HD=),//变量长度,变量 取得窗体的标题,变量须预先赋空字串(chr()),变量长度=Len(变量)
WM_SETTEXT(&HC=),,ByVal //"字串" 设置窗体的标题
WM_NCLBUTTONDOWN(&HA1=),, //在非客户区,即边框及标题栏上(假如定义的是一个组件,则非客户区包括Form等)按下鼠标左键;
WM_LBUTTONDOWN(&H201=),, //在客户区,也就是除边框及标题栏以外按下鼠标左键
WM_VSCROLL(&H115=),&H10000*p+SB_THUMBPOSITION(&H4), //同步滚动文本,p是位置改变量
WM_PAINT
WM_USER (&H400 = )
WM_CUT(&H300=),,// 剪切
WM_COPY(&H301=)),,// 复制
WM_PASTE(&H302=)),,/// 粘贴
WM_CLEAR(&H303=)),, //删除
WM_UNDO(&H304=)),, /撤消
按纽消息:
BM_SETSTYLE(&HF4)// 设置按纽样式
BS_RADIOBUTTON(&H4) //收音机旋纽式的按纽,是 BM_SETSTYLE 使用的参数
windows的消息传递--消息盒子的更多相关文章
- windows的消息传递--消息盒子(超详细EM_UNDO等消息)
使用delphi的消息机制可以方便操作后台,其中重要的就是sendmessage()函数.下面讲解一下这个函数 function SendMessage(hWnd: HWND; Msg: UINT; ...
- 【笨嘴拙舌WINDOWS】键盘消息,鼠标消息
键盘消息 Windows系统无论何时只有一个窗口(可能是子窗口,也就是控件)能获得焦点. 焦点窗口通过windows消息来响应人的键盘操作,与键盘相关的常用消息罗列如下: WM_KEYDOWN 按 ...
- windows平台发消息到非UI线程.
下面的代码是介绍如何在windows平台发消息到非UI线程. 主要是'PeekMessage || GetMessage' 这两个API的应用. 当他们被调用的时候,如果当前线程还没有消息循环,就会创 ...
- 关于 OnCloseQuery: 顺序、不能关机等(所有的windows的广播消息都是逐窗口传递的)——如果一个窗体的OnCloseQuery事件中如果写了代码那么WM_QUERYENDSESSION消息就传不过去了msg.result会返回0,关机事件也就停止了
系统关闭窗体的事件顺序为: OnCloseQuery ----> OnClose ----> OnDestroy 下面的代码说明问题: unit Unit3; interface uses ...
- WINDOWS特有的消息常量标识符
'========================================'WINDOWS特有的消息常量标识符'======================================== ...
- 天猫消息盒子的CSS实现
css: body,h2,h3,ul,p{margin:0;padding:0;font-size:12px;} li{list-style: none; } a{text-decoration: n ...
- Ajax轮询消息自动提示(消息盒子)
经过一下午写了个消息盒子的例子,用的是ajax方式轮询读取,没有用到后台自动“推”数据的方式,效果良好. <%@ Page Language="C#" AutoEventWi ...
- Windows运行机理——消息与消息队列
Windows运行机理这系列文章都是来至于<零基础学Qt4编程>——吴迪,个人觉得写得很好,所以进行了搬运和个人加工 Windows程序设计时一种基于消息的时机驱动方式的设计模式,完全不同 ...
- 四、续绑定SignaIR的用户管理-(添加好友和消息盒子)
一.聊天消息表(普通消息,申请消息,群聊消息) CREATE TABLE MSG_INFO ( MSG_Id INT PRIMARY KEY AUTO_INCREMENT, -- 消息标识 MSG_T ...
随机推荐
- 【转】在python3.5安装tkinter
链接:https://www.zhihu.com/question/42162071/answer/95441732 安装tkinter tkinter是由tcl和tk两个部分组成的,所以下载tkin ...
- MATLAB的一些小经验,记下来,facilitate future work
[转载请注明出处]http://www.cnblogs.com/mashiqi 2016/03/28 0.杂.这个帖子(https://www.zhihu.com/question/24499729) ...
- jQuery的位置信息
<head> <meta charset="UTF-8"> <title>jquery的位置信息</title> <style ...
- MySQL篇,第三章:数据库知识3
MySQL 数据库 3 索引 1.普通索引(MUL) 2.唯一索引(UNI) 3.主键索引(PRI) 1.使用规则 1.一个表中只能有一个主键(primary)字段 2.对应字段的值不允许重复 ...
- 【Java】身份证号码验证
代码引用自:https://gitee.com/appleat/codes/ynrtqujv0wfgesm8ia9b547 package xxx; /** * Created by wdj on 2 ...
- Unity3D 重写下拉菜单/Dropdown组件、开启每个按钮可用
Override Dropdown Component 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) ...
- css的标准模型和低版本的IE的盒子模型有什么不同?
1. css的盒子模型:外边距(margin).内边距(padding).边界(border).内容区(width和height) 标准的css盒子模型与低版本的ie盒子模型的不同:宽高不一样 标准的 ...
- # 20155219实验二 Java面向对象程序设计
20155219实验二 Java面向对象程序设计 一.实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D原则 5 ...
- Contest1036 - 2017西安电子科技大学程序设计新生赛网络预选赛
一名大三older 希望能帮助大一萌新...加油 xiandianer!!!!; xdoj 1260 (B) 水题 用了一下STL (好长啊...) #include<iostream> ...
- mysql给数据库授权与收回权限--------dcl
用户授权语法 grant 权限1,权限2... on 数据库名.* to 用户名 @IP地址或% 打开新创建的名为“test”的数据库后 用 show databases; 的命令 看内部的数据结果 ...