LOWORD与HIWORD,GetEditSel与SetEditSel
来源:互联网 发布:怎样与淘宝买家联系 编辑:程序博客网 时间:2024/06/16 23:23
两个宏函数
LOWORD
定义:
#define HIWORD(I) ( ( WORD ) ( ( ( DWORD )( I ) <<16) & 0xFFFF ) )。
取低位的16位数据。
HIWORD
定义:
#define HIWORD(I) ( ( WORD ) ( ( ( DWORD )( I ) >>16) & 0xFFFF ) )。
取高位的16位数据。
其中有个问题,就是主机字节序的问题,不同的机器不同的主机字节序,大部分都是小头字节序,就是在内存地址n~m中,低位在n这边,高位在m这边
但是大头字节序正好与此相反。
举网上发现的一个例子:
DWORD dwT = 0x01010202;内存地址从 0~3中数值分别是:00000002 00000002 00000001 00000001你机器可能是大头字节序,和小头的相反:举个例子:DWORD dwT = 0x01010202;内存地址从 0~3中数值分别是:00000001 00000001 00000002 00000002这时你取高位和低位和你理解的可能正好相反可以自己测试下机器是大头还是小头:比如:WORD wT = 0x01*((BYTE*)&wT) == 0; //表示大头*((BYTE*)&wT) == 1; //表示小头
GetEditSel()是列表框(List Box)和组合框(Combo List)的成员函数(operation)(member function)
返回一个DWORD 类型的数据,高位和低位分别保存的结束和开始的位置。但是在使用的时候,大多数的作用是还得到光标的位置。
比如我们在Combo List的编辑框中输入一个字母'A',那么调用GetEditSel得到的DWORD CurSel=0x00010001;
如果再输入个字母,CurSel = 0x00020002; 依次类推 这主要用在组合框的自动查询功能里
SetEditSel(int nStartChar, int nEndChar)也是列表框(List Box)和组合框(Combo List)的成员函数(operation)(member function)
功能是选择编辑控件里的字符(Selects characters in the edit control of a combo box)
其中若nStartChar = -1,msdn里说是:then any existing selection is removed。通过实验我的理解是:-1就是无限大,这个函数的效果就是把光标放到最后。
若nEndChar = -1, 则相当于nEndChar 无限大,直到编辑控件里面的最后一个字符,就选择nStartChar开始的到后面的所有字符。
SetEditSel()后面最好不要用MssageBox();会影响SetEditSel()表现出来的效果。
举例:
选择编辑控件里有字符串: "Saturday"
调用SetEditSel(1,-1);得到的结果就是 :此时的光标在'S'后面。
再次调用SetEditSel(-1,2);(nEndChar 随便填)得到的结果就是光标落到 ' y '后面。
- LOWORD与HIWORD,GetEditSel与SetEditSel
- LOWORD/HIWORD宏与GET_X_LPARAM/GET_Y_LPARAM宏的注意点
- LOWORD, HIWORD, LOBYTE, HIBYTE
- LOWORD, HIWORD, LOBYTE, HIBYTE
- HIWORD和LOWORD
- LOWORD,HIWORD,LOBYTE,HIBYTE
- 学习LOWORD、 HIWORD、LOBYTE、HIBYTE
- 位移操作LOWORD HIWORD LOBYTE HIBYTE
- 对LOWORD, HIWORD, LOBYTE, HIBYTE的理解
- 对LOWORD, HIWORD, LOBYTE, HIBYTE的理解
- 对LOWORD, HIWORD, LOBYTE, HIBYTE的理解
- 对LOWORD, HIWORD, LOBYTE, HIBYTE的理解
- Lo、Hi、HiByte、LoWord、HiWord、MakeWord、MakeLong、Int64Rec
- Lo、Hi、HiByte、LoWord、HiWord、MakeWord、MakeLong、Int64Rec
- HIBYTE(w)、LOBYTE(w)、HIWORD(dw)、LOWORD(dw)
- C#版的LOWORD,HIWORD,LOWBYTE,HIGHBYTE解析方法
- C++ 常用WinDef 宏函数LOWORD和HIWORD
- 如何利用Python和win32编程避免重复性体力劳动(二)——菜单操作:GetMenu,GetSubMenu,GetMenuItemID以及wParam的HIWORD&LOWORD
- Socket send函数和recv函数详解以及利用select()函数来进行指定时间的阻塞【转】
- 最长上升子序列
- cookie 工作原理
- 【C++ Primer】标准库string类型
- 机器学习算法中文视频教程
- LOWORD与HIWORD,GetEditSel与SetEditSel
- typedef四用途与两陷阱
- Loading XML with Javascript
- svn 常见图标意义
- MySQL随机查询的优化实例
- MYSQL数据丢失讨论
- Android: ListView与Button的共存问题解决
- HashMap
- php 中 define 定义常量和单双引号问题