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

2010-12-30 21:13:27 · 作者: · 浏览: 36440
roc,它一般给Windows传回0,这会使Windows发出哔声。在第十四章GRAFMENU程式中会看到WM_MENUCHAR讯息的使用。

范例程式
 

让我们来看一个简单的例子。程式10-4所示的MENUDEMO程式,在主功能表中有五个选择项-File、Edit、Background、Timer和Help,每一项都与一个突现式功能表相连。MENUDEMO只完成了最简单、最通用的功能表处理操作,包括拦截WM_COMMAND讯息和检查wParam的低字组。

 程式10-4 MENUDEMO
MENUDEMO.C
/*---------------------------------------------------------------------
MENUDEMO.C -- Menu Demonstration
(c) Charles Petzold, 1998
-----------------------------------------------------------------------*/

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

#define ID_TIMER 1

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

TCHAR szAppName[] = TEXT ("MenuDemo") ;

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, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
w