在WndProc中的WM_CREATE处理期间,POPMENU取得此突现式功能表的代号,就是带有文字「MyMenu」的那个突现式功能表:
在WM_RBUTTONUP讯息处理期间,POPMENU提供了滑鼠指标的位置,将此位置转换为萤幕座标,再将座标值传递给TrackPopupMenu:
然後,Windows显示出具有「File」、「Edit」、「Background」和「Help」项的突现式功能表。选择其中任何一项都可以使嵌套的突现式功能表显示在右边,功能表函式与一般的功能表一样。
如果要使用与该程式的主功能表相同的功能表并带有TrackPopupMenu,您会遇到一些问题,因为函式需要突现式功能表代号。在「Microsoft Knowledge Base」文章ID Q99806有提供一些资讯。
使用系统功能表
使用WS_SYSMENU样式建立的父视窗,在其标题列的左侧有一个系统功能表按钮。如果您愿意,可以修改这个功能表。在Windows程式设计的早期,程式写作者一般把「About」功能表项放入系统功能表。虽然这种方法不常见,但是修改系统功能表往往是一种在短程式中添加功能表的快速偷懒方法。这里唯一的限制是:在系统功能表中增加的命令其ID值必须小於0xF000;否则它们将会与Windows系统功能表命令所使用的ID值相冲突。还要记住,当您为这些新功能表项在视窗讯息处理程式中处理WM_SYSCOMMAND讯息时,您必须把其他的WM_SYSCOMMAND讯息发送给DefWindowProc。如果您不这样做,那么实