菜单
点击次数:77 次 发布日期:2008-11-10 08:13:10 作者:源代码网
|
源代码网整理以下 本课中我们将在我们的应用程序中加入一个菜单。 源代码网推荐在菜单项的列表中是一大串的MENUITEM和POPUP语句。MENUITEM定义了一个菜单项,当选择后不会激活对话框。它的语法如下: 源代码网推荐MENUITEM "&text", ID [,options] 源代码网推荐它由关键字MENUITEM开头,紧跟在MENUITEM后的是指菜单项的名称字符串,符号“&“后的第一个字符将会带下画线,它也是该菜单项的快捷键。ID的作用当该菜单被选中时,WINDOWS的消息处理过程用来区分菜单项用的。毫无疑问,ID号必须唯一。options有以下可供选择的属性: 源代码网推荐GRAYED 代表该菜单项处于非激活状态,即当其被选中时不会产生WM_COMMAND消息。该菜单以灰色显示。 源代码网推荐INACTIVE 代表该菜单项处于非激活状态,即当其被选中时不会产生WM_COMMAND消息。该菜单以正常颜色显示。 源代码网推荐MENUBREAK 该菜单项和随后的菜单项会显示在新列中。(译者注:比较难描述,请做实验。) 源代码网推荐HELP 该菜单项和随后的菜单项右对齐。(译者注:我在WINDOWS2000下编译有该标志的菜单项,该标志好像没起作用) 源代码网推荐您可以单独使用以上标志位,也可以把它们或在一起。当然INACTIVE和GRAYED不能同时使用。 POPUP的语法如下: 源代码网推荐POPUP "&text" [,options] 源代码网推荐{ 源代码网推荐[menu list] 源代码网推荐} 源代码网推荐POPUP定义了一个菜单项当该菜单项被选中时又会弹出一个子菜单。另外有一种特别类型的MENUITEM语句MENUITEM SEPARATOR,它表示在菜单项位置画一条分隔线。定义完菜单后,您就可以在程序中使用脚本中定义的菜单资源了。您可以在程序的两个地方(或叫做用两种方式)使用它们: 源代码网推荐在WNDCLASSEX结构体的成员lpszMenuName中。譬如,您有一个菜单“FirstMenu“,您可以按如下方法把它联系到您的窗口: 源代码网推荐.DATA 源代码网推荐MenuName db "FirstMenu",0 源代码网推荐........................... 源代码网推荐........................... 源代码网推荐.CODE 源代码网推荐........................... 源代码网推荐mov wc.lpszMenuName, OFFSET MenuName 源代码网推荐........................... 源代码网推荐在CreateWindowEx函数中指明菜单的句柄: 源代码网推荐.DATA 源代码网推荐MenuName db "FirstMenu",0 源代码网推荐hMenu HMENU ? 源代码网推荐........................... 源代码网推荐........................... 源代码网推荐.CODE 源代码网推荐........................... 源代码网推荐invoke LoadMenu, hInst, OFFSET MenuName 源代码网推荐mov hMenu, eax 源代码网推荐invoke CreateWindowEx,NULL,OFFSET ClsName, 源代码网推荐 源代码网供稿. |
