设为首页 加入收藏

TOP

功能表及其他资源(二十八)
2010-12-30 21:13:27 来源: 作者: 【 】 浏览:35983
Tags:功能 及其他 资源
LECT讯息。随著使用者在功能表项中移动游标或者滑鼠,程式会收到许多WM_MENUSELECT讯息。这对实作那些包含对功能表项的文字描述的状态列是很有帮助的。WM_MENUSELECT的参数如下所示:

LOWORD (wParam):被选中项目:功能表ID或者突现式功能表代号

HIWORD (wParam):选择旗标

lParam: 包含被选中项目的功能表代号

WM_MENUSELECT是一个功能表追踪讯息,wParam的值告诉您目前选择的是功能表中的哪一项(加高亮度显示的那个),wParam的高字组中的「选择旗标」可以是下列这些旗标的组合:MF_GRAYED、MF_DISABLED、MF_CHECKED、MF_BITMAP、MF_POPUP、MF_HELP、MF_SYSMENU和MF_MOUSESELECT。如果您需要根据对功能表项的选择来改变视窗显示区域的内容,那么您可以使用WM_MENUSELECT讯息。许多程式把该讯息发送给DefWindowProc。

当Windows准备显示一个突现式功能表时,它给视窗讯息处理程式发送一个WM_INITMENUPOPUP讯息,参数如下:

wParam: 突现式功能表代号

LOWORD (lParam):突现式功能表索引

HIWORD (lParam): 系统功能表为1,其他为0

如果您需要在显示突现式功能表之前启用或者禁用功能表项,那么这个讯息就很重要。例如,假定程式使用突现式功能表上的 Paste 命令从 剪贴簿 复制文字,当您收到突现式功能表中的WM_INITMENUPOPUP讯息时,应确定剪贴簿内是否有文字存在。如果没有,那么应该使 Paste 功能表项无效化。我们将在本章後面修改的POPPAD程式中看到这样的例子。

最重要的功能表讯息是WM_COMMAND,它表示使用者已经从功能表中选中了一个被启用的功能表项。第八章中的WM_COMMAND讯息也可以由子视窗控制项产生。如果您碰巧为功能表和子视窗控制项使用同一ID码,那么您可以通过lParam的值来区别它们,功能表项的lParam其值为0,请参见表10-1。

表10-1
功能表控制项
 
LOWORD (wPara
首页 上一页 25 26 27 28 29 30 31 下一页 尾页 28/69/69
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇对话方块 下一篇子视窗控制项

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: