例如对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的消息传递--消息盒子的更多相关文章

  1. windows的消息传递--消息盒子(超详细EM_UNDO等消息)

    使用delphi的消息机制可以方便操作后台,其中重要的就是sendmessage()函数.下面讲解一下这个函数 function SendMessage(hWnd: HWND; Msg: UINT;  ...

  2. 【笨嘴拙舌WINDOWS】键盘消息,鼠标消息

    键盘消息 Windows系统无论何时只有一个窗口(可能是子窗口,也就是控件)能获得焦点. 焦点窗口通过windows消息来响应人的键盘操作,与键盘相关的常用消息罗列如下: WM_KEYDOWN   按 ...

  3. windows平台发消息到非UI线程.

    下面的代码是介绍如何在windows平台发消息到非UI线程. 主要是'PeekMessage || GetMessage' 这两个API的应用. 当他们被调用的时候,如果当前线程还没有消息循环,就会创 ...

  4. 关于 OnCloseQuery: 顺序、不能关机等(所有的windows的广播消息都是逐窗口传递的)——如果一个窗体的OnCloseQuery事件中如果写了代码那么WM_QUERYENDSESSION消息就传不过去了msg.result会返回0,关机事件也就停止了

    系统关闭窗体的事件顺序为: OnCloseQuery ----> OnClose ----> OnDestroy 下面的代码说明问题: unit Unit3; interface uses ...

  5. WINDOWS特有的消息常量标识符

    '========================================'WINDOWS特有的消息常量标识符'======================================== ...

  6. 天猫消息盒子的CSS实现

    css: body,h2,h3,ul,p{margin:0;padding:0;font-size:12px;} li{list-style: none; } a{text-decoration: n ...

  7. Ajax轮询消息自动提示(消息盒子)

    经过一下午写了个消息盒子的例子,用的是ajax方式轮询读取,没有用到后台自动“推”数据的方式,效果良好. <%@ Page Language="C#" AutoEventWi ...

  8. Windows运行机理——消息与消息队列

    Windows运行机理这系列文章都是来至于<零基础学Qt4编程>——吴迪,个人觉得写得很好,所以进行了搬运和个人加工 Windows程序设计时一种基于消息的时机驱动方式的设计模式,完全不同 ...

  9. 四、续绑定SignaIR的用户管理-(添加好友和消息盒子)

    一.聊天消息表(普通消息,申请消息,群聊消息) CREATE TABLE MSG_INFO ( MSG_Id INT PRIMARY KEY AUTO_INCREMENT, -- 消息标识 MSG_T ...

随机推荐

  1. 前端笔记 (3.JavaScript 1)

    JavaScript 是属于网络的脚本语言! JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后, ...

  2. Spring Boot 揭秘与实战(二) 数据存储篇 - JPA整合

    文章目录 1. 环境依赖 2. 数据源 3. 脚本初始化 4. JPA 整合方案一 通过继承 JpaRepository 接口 4.1. 实体对象 4.2. DAO相关 4.3. Service相关 ...

  3. EPOCH, BATCH, INTERATION

    CIFAR10 数据集有 50000 张训练图片,10000 张测试图片.现在选择 Batch Size = 256 对模型进行训练. 每个 Epoch 要训练的图片数量:  训练集具有的 Batch ...

  4. 2.26 js解决click失效问题

    2.26 js解决click失效问题 前言有时候元素明明已经找到了,运行也没报错,点击后页面没任何反应.这种问题遇到了,是比较头疼的,因为没任何报错,只是click事件失效了.本篇用2种方法解决这种诡 ...

  5. JavaBasic_04

    选择结构 选择结构有特定的语法规则 代码要执行具体的逻辑运算进行判断(代码执行有条件) 逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码(根据不同的条件执行不同的代码) Java语言提 ...

  6. 牛客国庆集训派对Day4 I-连通块计数(思维,组合数学)

    链接:https://www.nowcoder.com/acm/contest/204/I 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言20 ...

  7. //生成四位数的验证码--->

  8. 结对第2次作业——WordCount进阶需求

    作业题目链接 队友链接 Fork的同名仓库的Github项目地址 具体分工 玮哥负责命令参数判断.单词权重统计,我只负责词组词频统计(emmmm). PSP表格 预估耗时(分钟) 实际耗时(分钟) P ...

  9. java实现各种排序算法

    java实现各种排序算法 import java.util.Arrays; public class SomeSort { public static void main(String[] args) ...

  10. CentOS下安装VirtualBox

    VirtualBox在Ubtubu下的使用和Window下一样简单,下载安装包,安装运行即可.但在CentOS下需要折腾一下 ======1 下载相应的repo包:官网找到Centos7相应的repo ...