windows编程之菜单操作

本文详细介绍了Windows编程中的菜单操作,包括主菜单、弹出菜单、菜单消息处理、菜单项状态、菜单函数的使用,以及右键菜单和系统菜单的实现。同时,还讲解了加速键的创建和应用,提供了一个不依赖资源的菜单操作代码示例。
摘要由CSDN通过智能技术生成

分清几个概念

<1>“主菜单” 和 “顶层菜单” 是一个意思。

<2>主菜单中的项目叫做 “弹出菜单” 或者 “子菜单”。

<3>弹出菜单的项目可以是另外一个弹出菜单。

<4>菜单的状态:启用,禁用,无效化,无效化跟前两者的区别是灰色显示文字。

 

(1)菜单消息

<1>WM_INITMENU

        wParam,   // handle to menu (HMENU)
        lParam    // not used

<2>WM_MENUSELECT

菜单项被选中的时候

       wParam,   // menu item (UINT) and flags (UINT)
       lParam    //handle to menu (HMENU)

其中

LOWORD(wParam)		//被选中项目:菜单ID或者弹出式菜单句柄
HIWORD(wParam)		//选择旗标

旗标是MF_GRAYED、MF_DISABLED、MF_CHECKED、MF_BITMAP、MF_POPUP、MF_HELP、MF_SYSMENU和MF_MOUSESELECT的集合。

<3>WM_INITMENUPOPUP

 当下拉菜单被激活的时候就会发出这样的消息

WPARAM wParam,   // handle to menu (HMENU)
LPARAM lParam    // item position and indicator
LOWORD(lParam)代表的是菜单项索引,HIWORD(lParam)表示的是TRUE,或者FALSE,菜单是系统菜单的时候表示的TRUE,非系统菜单的时候表示的是FALSE。

<4>WM_COMMAND

表示使用者已经从菜单中选择了一个被启用的菜单项,

LOWORD (wParam):菜单命令ID

HIWORD(wParam):0

lParam:0

<5>WM_MENUCHAR

(2)菜单项中的字母的下划线

把字母前面加&字符,就可以出现字母下划线的效果,当用Alt键+ 字符,可以快捷的弹出子菜单,或者执行菜单项命令。


对应属性


(3)菜单项的选中和去选中状态

CheckMenuItem(hMenu, iSelection, MF_UNCHECKED) ;
CheckMenuItem(hMenu, iSelection, MF_CHECKED) ;


(4)关于Menu的函数

         关于菜单的操作从大体方向上看无外乎增删改查四种操作。

4.1    HMENUCreateMenu(VOID);

4.2   BOOL AppendMenu( HMENU hMenu, // handle to menu

                         UINT uFlags,                            //menu-item options

                         UINT_PTR uIDNewItem,       // identifier, menu, or submenu

                         LPCTSTR lpNewItem         //menu-item content);

其中uFlags 可以是:

MF_BITMAP,MF_OWNERDRAW,MF_STRIN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值