windows消息浅析

windows消息浅析

ID:38360052

大小:47.50 KB

页数:5页

时间:2019-06-11

windows消息浅析_第1页
windows消息浅析_第2页
windows消息浅析_第3页
windows消息浅析_第4页
windows消息浅析_第5页
资源描述:

《windows消息浅析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在PB中使用Windows消息(一)Wm_syscommand参数使用消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg。它在Windows单元中是这样声明的:hwnd:HWND;//窗口句柄message:UINT;//消息常量标识符wParam:WPARAM;//32位消息的特定附加信息

2、lParam:LPARAM;//32位消息的特定附加信息time:DWORD;//消息创建时的时间pt:TPoint;//消息创建时的鼠标位置hwnd32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。message用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。wParam通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。lParam通常是一个指向内存中数据的指针。由于WParam、lParam和Pointer都是32位的,因此,它们之间可以相互

3、转换。对于我们使用来说,在众多的消息当中,WM_SYSCOMMAND,使用率是最高的,对於WM_SYSCOMMAND,功能表ID指示系统功能表中的哪一项被选中,所参数对应值如下:MF_BYCOMMAND=&H0&MF_BYPOSITION=&H400&SC_ARRANGE=&HF110SC_CLOSE=&HF060SC_HOTKEY=&HF150SC_HSCROLL=&HF080SC_KEYMENU=&HF100SC_MAXIMIZE=&HF030SC_MINIMIZE=&HF020SC_MOVE=&HF012或F010SC_NEXTWINDOW=&HF040SC_PRE

4、VWINDOW=&HF050SC_RESTORE=&HF120SC_SIZE=&HF000SC_VSCROLL=&HF070SC_TASKLIST=&HF130SC_SCREENSAVE=&HF140下面,介绍一下SC_COLSE、SC_MAXIMIZE、SC_MINIMIZE、SC_MOVE、SC_RESTORE、SC_SIZE、SC_HOTKEY这几个常用参数在PB中的应用:1、SC_CLOSE:61536执行关闭功能。常用点:屏蔽掉关闭功能,使窗口系统的“X”变成灰色,并且不可用。实现方法:FUNCTIONulongGetSystemMenu(ulonghwnd,u

5、longbRevert)LIBRARY"user32.dll"FUNCTIONulongDeleteMenu(ulonghMenu,ulongnPosition,ulongwFlags)LIBRARY"user32.dll"FUNCTIONulongGetMenuItemCount(ulonghMenu)LIBRARY"user32.dll"窗体Open中//按命令LongMF_BYCOMMAND=0Longll_hwndMenull_hwndMenu=GetSystemMenu(handle(this),0)//得到系统菜单句柄DeleteMenu(ll_hwndMen

6、u,SC_CLOSE,MF_BYCOMMAND)//屏蔽掉关闭功能//也可使用按位置屏蔽,即单击窗口左上脚弹出系统菜单上的位置longMF_BYPOSITION=1024Longll_hwndMenuLongvalueIntegerill_hwndMenu=GetSystemMenu(handle(this),0)i=GetMenuItemCount(ll_hwndMenu)DeleteMenu(ll_hwndMenu,c-1,MF_BYPOSITION)有时候,屏蔽掉关闭功能一段时间后,还需要把此功能找回来,那么可以这样实现:FunctionUlongAppendMen

7、u(UlonghMenu,UlongwFlags,UlongwIDNewItem,RefStringlpNewItem)Library"User32"AliasFor"AppendMenuA"FunctionUlongGetMenuString(UlonghMenu,UlongwIDItem,RefStringlpString,UlongnMaxCount,UlongwFlag)Library"User32"AliasFor"GetMenuStringA"按钮Cb_backclick事件中:Longll_hwndMenuLon

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。