CMenu::CreateMenu和CMenu::CreatePopupMenu之间的区别

原创 2011年01月13日 15:06:00

CreateMenu和CreatePopupMenu都是用来创建菜单,都可以用AppendMenuInsertMenu 向其中添加菜单。

两者的不同点在于使用TrackPopupMenu 上:

例:

 

CMenu menu;

menu.CreateMenu();
menu.AppendMenu(MF_STRING, 23423, _T("sdfwef"));
menu.AppendMenu(MF_STRING, 23423, _T("sdfwef2"));

menu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);

 

用以上代码时显示如下:

 

CMenu menu;

menu.CreatePopupMenu();

menu.AppendMenu(MF_STRING, 23423, _T("sdfwef"));
menu.AppendMenu(MF_STRING, 23423, _T("sdfwef2"));

menu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);

 

用以上代码时显示如下:

 

所以用CreateMenu 和 CreatePopupMenu的区别在于,CreatePopupMenu创建的菜单能够使用TrackPopupMenu函数,而CreateMenu创建的菜单不能。

CreateMenu与CreatePopupMenu的区别

作者:陈飞         很多人都弄不清楚这CreateMenu与CreatePopupMenu的区别,继而发生很多莫名其妙的菜单行为。虽然极少数情况下,Windows能检测出来是你混淆了这两个函...

CMenu CreatePopupMenu AppendMenu显示菜单是灰色不可点击状态?

CMenu TopSysMenu; if (TopSysMenu.CreatePopupMenu()==FALSE) return false; TopSysMenu.AppendMenu(MF_...

创建菜单Menu

步骤: 一、在资源中插入菜单资源(ID为:IDR_MENU1): 二、添加右键单击处理函数OnRButtonDown,函数代码为: void CaaDlg::OnRButtonDown(UINT ...

MFC透明菜单CMenu

  • 2008年09月11日 17:31
  • 142KB
  • 下载

VC MFC菜单栏(CMenu)控件

 菜单栏 在对话框窗口里显示菜单栏 像工具栏一样,菜单栏在按件面板里没有对应的选项,但有一个菜单控件类CMenu,所以如果想要在对话框里显示菜单栏,就得像工具栏那样,到ResourceV...

CButtonST和CMenu类

  • 2017年01月18日 14:50
  • 43KB
  • 下载

CMenu-关于菜单的销毁操作

今天扫了下CMenu的MSDN和源代码,真好啊它是从CObject继承下来的。这里仅说下菜单销毁时要注意的地方。 其实在堆中还是栈中使用CMenu不是重点要注意的地方,我们要清楚的是CMenu对象超...

CMenu的简介用法

  • 2011年05月09日 22:28
  • 32KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CMenu::CreateMenu和CMenu::CreatePopupMenu之间的区别
举报原因:
原因补充:

(最多只允许输入30个字)