MFC CMenu 的用法 函数列表
2014-04-25 12:24
232 查看
CMenu
CMenu类为Windows HMENU的封装类。它提供了成员函数以用于创建、追踪、更新及销毁菜单。
在本地的堆栈框架中创建一个CMenu对象,然后调用CMenu的成员函数来操纵所需的新菜单。接着,调用CWnd::SetMenu函数为窗口设置菜单。然后立即调用CMenu对象的Detach成员函数。CWnd::SetMenu成员函数将窗口的菜单设置为新菜单,这将导致在窗口刷新后将影响菜单的改变,同时也将菜单的拥有者传递给窗口。调用Detach函数将把HMENU从CMenu对象中分离出来,以便当本地的CMenu变量超出范围后,CMenu对象的构造函数将不会销毁不再拥有的菜单。当窗口销毁后,菜单自动销毁。
可以调用LoadMenuIndirect成员函数在内存中创建来自模板的菜单,不过通过调用LoadMenu创建的菜单更容易维护。并且这种菜单资源本身也可以由菜单编辑器创建或修改。
#include <afxwin.h>
请参阅:CObject
CMenu类的成员
数据成员
构造函数
初始化
菜单操作
菜单项操作
可覆盖的函数
CObject |
└CMenu |
在本地的堆栈框架中创建一个CMenu对象,然后调用CMenu的成员函数来操纵所需的新菜单。接着,调用CWnd::SetMenu函数为窗口设置菜单。然后立即调用CMenu对象的Detach成员函数。CWnd::SetMenu成员函数将窗口的菜单设置为新菜单,这将导致在窗口刷新后将影响菜单的改变,同时也将菜单的拥有者传递给窗口。调用Detach函数将把HMENU从CMenu对象中分离出来,以便当本地的CMenu变量超出范围后,CMenu对象的构造函数将不会销毁不再拥有的菜单。当窗口销毁后,菜单自动销毁。
可以调用LoadMenuIndirect成员函数在内存中创建来自模板的菜单,不过通过调用LoadMenu创建的菜单更容易维护。并且这种菜单资源本身也可以由菜单编辑器创建或修改。
#include <afxwin.h>
请参阅:CObject
CMenu类的成员
数据成员
m_hMenu | 指定附加给CMenu对象的窗口菜单的句柄 |
CMenu | 构造一个CMenu对象 |
Attach | 附加一个Windows菜单句柄给CMenu对象 |
Detach | 从CMenu对象中分离Windows菜单的句柄,并返回该句柄 |
FromHandle | 返回一个指向给定Windows菜单句柄的CMenu对象的指针 |
GetSafeHmenu | 返回由CMenu对象包含的m_hMenu值 |
DeleteTempMap | 删除由FromHandle成员函数创建的所有临时CMenu对象 |
CreateMenu | 创建一个空菜单,并将其附加给CMenu对象 |
CreatePopupMenu | 创建一个空的弹出菜单,并将其附加给CMenu对象 |
LoadMenu | 从可执行文件中装载菜单资源,并将其附加给CMenu对象 |
LoadMenuIndirect | 从内存的菜单模板中装载菜单,并将其附加给CMenu对象 |
DestroyMenu | 销毁附加给CMenu对象的菜单,并释放菜单占用的内存 |
DeleteMenu | 从菜单中删除指定的项。如果菜单项与弹出菜单相关联,那么将销毁弹出菜单的句柄,并释放它占用的内存 |
TrackPopupMenu | 在指定的位置显示浮动菜单,并跟踪弹出菜单的选择项 |
AppendMenu | 在该菜单末尾添加新的菜单项 |
CheckMenuItem | 在弹出菜单的菜单项中放置或删除检测标记 |
CheckMenuRadioItem | 将单选钮放置在菜单项之前,或从组中所有的其它菜单项中删除单选钮 |
SetDefaultItem | 为指定的菜单设置缺省的菜单项 |
GetDefaultItem | 获取指定的菜单缺省的菜单项 |
EnableMenuItem | 使菜单项有效、无效或变灰 |
GetMenuItemCount | 决定弹出菜单或顶层菜单的项数 |
GetMenuItemID | 获取位于指定位置菜单项的菜单项标识 |
GetMenuState | 返回指定菜单项的状态或弹出菜单的项数 |
GetMenuString | 获取指定菜单项的标签 |
GetMenuItemInfo | 获取有关菜单项的信息 |
GetSubMenu | 获取指向弹出菜单的指针 |
InsertMenu | 在指定位置插入新菜单项,并顺次下移其它菜单项 |
ModifyMenu | 改变指定位置的已存在的菜单项 |
RemoveMenu | 从指定的菜单中删除与弹出菜单相关联的菜单项 |
SetMenuItemBitmaps | 将指定检测标记的位图与菜单项关联 |
GetMenuCountextHelpID | 获取与菜单关联的帮助文本的ID号 |
SetMenuCountextHelpID | 设置与菜单关联的帮助文本的ID号 |
DrawItem | 通过框架来调用,其发生于拥有者菜单的可视部分有所改变 |
MeasureItem | 通过框架来调用,用于决定当创建了拥有者菜单时的菜单维数 |
相关文章推荐
- MFC学习(24)线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法
- python:4:列表基本用法及相关函数(2)
- MFC常见函数的用法
- MFC中CImageList(图形列表控件)和CTreeCtrl(树形列表控件)的简单用法
- VC MFC菜单栏(CMenu)控件用法
- MFC学习笔记(二):消息对话框的两个函数用法与区别
- MFC中LineTo函数的作用及用法(图形学中使用过的)
- python:3:列表基本用法及相关函数(1)
- MFC中CImageList(图形列表控件)和CTreeCtrl(树形列表控件)的简单用法
- MFC中LineTo函数的作用及用法(图形学中使用过的)
- C++ 变长参数列表函数的用法
- 生成器+列表生成式,生成器可以节省内存,随时调取函数运行,以及实现多线程运行函数,__next__()和.send(参数)的区别,a,b=b,a+b其实是元祖的用法,出现异常状态用try...except StopIteration来处理
- MFC中UpdateData( bool b)函数的用法
- 文件处理函数如何使用?用法举例,C与MFC
- MFC_UpdateData()函数的用法
- 《转》[MFC] CDialog::DoModal()函数用法
- MFC的SetWindowPos函数用法
- 分类列表(wp_list_categories())函数用法详解
- MFC中CImageList(图形列表控件)、CTreeCtrl(树形列表控件)的简单用法
- MFC 框架、文档、视图操作常用函数用法简析