CreateMenu和CreatePopupMenu都是用来创建菜单,都可以用AppendMenu 或InsertMenu 向其中添加菜单。
两者的不同点在于使用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创建的菜单不能。