功能表及其他资源(四十)

2010-12-30 21:13:27 · 作者: · 浏览: 36450
您还可以利用Windows定义功能表的第三种方法。LoadMenuIndirect函式接受一个指向MENUITEMTEMPLATE型态的结构指标,并传回功能表的代号,该函式在载入资源描述档中的常规功能表模板後,在Windows中构造功能表,读者不妨自己尝试一下。

浮动突现式功能表
 

您还可以在没有顶层功能表列的情况下使用功能表,也就是说,您可以使突现式功能表出现在萤幕顶层的任何位置。一种方法是使用滑鼠右键来启动突现式功能表。程式10-6所示的POPMENU说明了这种方法。

 程式10-6 POPMENU
POPMENU.C
/*----------------------------------------------------------------------
POPMENU.C -- Popup Menu Demonstration
(c) Charles Petzold, 1998
-------------------------------------------------------------------------*/

#include <windows.h>
#include "resource.h"

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
HINSTANCE hInst ;
TCHAR szAppName[] = TEXT ("PopMenu") ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ;

wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL, szAppName) ;
wndclass.hCursor = LoadCursor (NULL, IDC_A