我们当然知道 ,现在,在实际开发中肯定不会像我这样写Win32程序的,你看,连个WinMain都要N行代码。但很多人 不明白什么叫学习,什么叫探索。实际上,通常能用于实际开发中的技巧只是占我们对客观世界的认识 总和不到20%,所以,如果你有兴趣计算一下,估计有80%的知识你不知道用到哪里去了。就算我们今后 不会把Win32程序投入到实际操作中,然而如果你了解过这东西,你会发现很多时候对我们是有帮助的 。
哪怕只是简单认识一下Win32的一些原理,相信对于日后编程的学习和成长,是有益处的。
为了提高误人子弟的效果,上面我说了几段F话,下面开始今天的正题。
要在窗口上添 加菜单,当然你可能会研究出N种方法,不过,这里我说两种,一种相当复杂,另一种稍微简单。
方法一,用代码添加菜单
这种方法的思路是:首先在全局范围内定义一个HMENU的变量 ,用来保存窗口中菜单栏的句柄,根菜单(菜单栏)可以CreateMenu函数来创建,接着可以使用 AppendMenu函数或者InsertMenuItem函数来创建菜单项。
句柄就是内存中各种资源的ID,比如 图标,图片,字符串等。我们的菜单也是一种资源。
下面我写了一个函数,用来动态创建菜单 。
void CreateMyMenu() { hRoot = CreateMenu(); if(!hRoot) return; HMENU pop1 = CreatePopupMenu(); AppendMenu(hRoot, MF_POPUP, (UINT_PTR)pop1, L"操作"); // 一种方法是使用AppendMenu函数 AppendMenu(pop1, MF_STRING, IDM_OPT1, L"飞机"); // 另一种方法是使用InsertMenuItem函数 MENUITEMINFO mif; mif.cbSize = sizeof(MENUITEMINFO); mif.cch = 100; mif.dwItemData = NULL; mif.dwTypeData = L"机关枪"; mif.fMask = MIIM_ID | MIIM_STRING | MIIM_STATE; mif.fState = MFS_ENABLED; mif.fType = MIIM_STRING; mif.wID = IDM_OPT2; InsertMenuItem(pop1,IDM_OPT2,FALSE,&mif); }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索函数
, 方法
, 句柄
菜单
stm32开发入门、win32开发入门、win32 创建菜单、微信开发 创建菜单、win7不显示入门菜单,以便于您获取更多的相关知识。