Cardinal 是 4 字节无符号的整型, 先看一个例数:
Cardinal 例数: |
4277991664
按字节划分: |
第四字节
第三字节
第二字节
第一字节
二进制: |
11111110
11111100
11111000
11110000
十六进制: |
FE
FC
F8
F0
十进制: |
254
252
248
240
按双字节划分: |
高两位
低两位
二进制: |
1111111011111100
1111100011110000
十六进制: |
FEFC
F8F0
十进制: |
65276
63728
//可以用 Lo 函数提取它的低字节(也就是第一个字节)
const
c: Cardinal = 4277991664;
begin
ShowMessageFmt('%d', [Lo(c)]); {240}
end;
//其实不使用 Lo 函数, 通过 Byte 类型转换也可以获取第一个字节
const
c: Cardinal = 4277991664;
begin
ShowMessageFmt('%d', [Byte(c)]); {240}
end;
//Hi 函数说是获取高位字节, 其实是获取第二个字节
const
c: Cardinal = 4277991664;
begin
ShowMessageFmt('%d', [Hi(c)]); {248}
end;
//如果要获取低两位, 貌似应该有个 LoWord 函数; 确实有, 但它不是函数, 只是 Word 类型的一个别称.
const
c: Cardinal = 4277991664;
begin
ShowMessageFmt('%d', [LoWord(c)]); {63728}
ShowMessageFmt('%d', [Word(c)]); {63728}
end;
//HiWord 函数是提取高两位的
const
c: Cardinal = 4277991664;
begin
ShowMessageFmt('%d', [HiWord(c)]); {65276}
end;
说说 LoWord 和 HiWord 的用途:
譬如在一个鼠标消息的消息参数 lParam 中存放着鼠标位置. lParam 是 4 字节的, 它的低两位存放 x、高两位存放 y ...
原文地址:http://www.cnblogs.com/del/archive/2008/04/23/1167554.html
分享到:
相关推荐
易语言自绘WIN10菜单源码,自绘WIN10菜单,WndProc,LOWORD,HIWORD,SetWindowLong,CallWindowProc,RtlMoveMemory_MEASUREITEMSTRUCT1,RtlMoveMemory_MEASUREITEMSTRUCT2,GetMenuItemCount,GetMenuItemInfo,...
易语言win10风格菜单源码,win10风格菜单,setMemnStyle_win10,WndProc,LOWORD,HIWORD,SetWindowLong,CallWindowProc,RtlMoveMemory_MEASUREITEMSTRUCT1,RtlMoveMemory_MEASUREITEMSTRUCT2,GetMenuItemCount,...
point x LOWORD lParam ; point y HIWORD lParam ; ctrl >OnLButtonDown point ; } break; case WM RBUTTONDOWN: { POINT point; point x LOWORD lParam ; point y HIWORD lParam ; ...
易语言超文本浏览框的事件响应源码,超文本浏览框的事件响应,子类化线程,取超文本浏览框内IE句柄,IE新过程,LOWORD,HIWORD,API_CallWindowProc,API_GetWindow,API_SetWindowLong
易语言仿Win10弹出Toast通知源码,仿Win10弹出Toast通知,WndProc,LOWORD,HIWORD,Gdiplus_初始化,Init_SUITypedef_NineGrids,P_SUITypedef_NineGrids,SUIRGBtoARGB,SUIDrawGraphicNineGrids,SUIDrawGraphicAlpha,RPM,...
易语言雪花动画源码,雪花动画,桌面动画_初始化,桌面动画_创建,桌面动画_注册窗口类,Gdiplus_初始化,LoadAnimationImage,LOWORD,HIWORD,消息循环,显示桌面,LayeredWindow_DefWindowProc,LayeredWindow_SubClass,雪花...
6. **LOWORD和HIWORD宏**:在处理WM_DRAWITEM消息时,wParam参数包含了一个组合值,包含了菜单项ID和状态信息。LOWORD和HIWORD宏可以用来提取这些信息。 7. **DRAWITEMSTRUCT结构**:这个结构体包含了关于绘制菜单...
例如,当我们将C语言中的代码翻译到Visual Basic(以下简称VB)时,就会遇到“高字”(HiWord) 和“低字”(LoWord) 运算符的问题。这些运算符主要用于将两个整数打包进一个长整型变量中。然而,在处理无符号整数运算...
1.以鼠标左键的按下为"起点",保持按下状态,移动鼠标,直到放开鼠标键作为"终点",画一条静态直线. ...在鼠标移动过程中会不断接收到许多WM_MOUSEMOVE消息,其中LOWORD(lParam)和HIWORD(lParam)分别存放鼠标的当前X,Y值.
易语言Rebar控件源码,Rebar控件,HIWORD,LOWORD,安装APIHOOK,取原始数据地址,卸载APIHOOK,调用原函数,MyCreateWindowA,取变量数据地址_文本型,取变量数据地址_字节集,CZQ动态调用子程序_,取变量数据地址_整数型,取子...
printf("Product Version: %d.%d.%d.%d\n", HIWORD(pFixedInfo->dwProductVersionMS), LOWORD(pFixedInfo->dwProductVersionMS), HIWORD(pFixedInfo->dwProductVersionLS), LOWORD(pFixedInfo->dwProductVersionLS...
wmId LOWORD wParam ; wmEvent HIWORD wParam ; break; case WM PAINT: OnPaint ; break; case WM DESTROY: OnDestroy ; break; default: return DefWindowProc hWnd message wParam ...
易语言SDK窗口源码,SDK窗口,WndProc,子程序_菜单初始化,HIWORD,LOWORD,子程序_处理命令消息,GetModuleHandle,LoadIcon,LoadCursor,GetStockObject,RegisterClass,MessageBox,CreateWindowEx,ShowWindow,UpdateWindow...
易语言OpenGL教程第33课TGA文件源码,OpenGL教程第33课TGA文件,LoadGLTextures,ReSizeGLScene,InitGL,DrawGLScene,KillGLWindow,CreateGLWindow,WndProc,WinMain,HIWORD,LOWORD,LoadTGA,LoadUncompressedTGA,...
HIWORD(pffi->dwProductVersionMS), LOWORD(pffi->dwProductVersionMS), HIWORD(pffi->dwProductVersionLS), LOWORD(pffi->dwProductVersionLS)); delete[] lpBuffer; return 0; } ``` 以上代码展示了如何从已...
OpenGL教程第36课渲染到纹理,TerminateApplication,ToggleFullscreen,ReshapeGL,ChangeScreenResolution,CreateWindowGL,DestroyWindowGL,WindowProc,RegisterWindowClass,HIWORD,LOWORD,sqrt,EmptyTexture,...
OpenGL教程第41课体积雾气,TerminateApplication,ToggleFullscreen,ReshapeGL,ChangeScreenResolution,CreateWindowGL,DestroyWindowGL,WindowProc,RegisterWindowClass,HIWORD,LOWORD,sqrtf,BuildTexture,Extension...