- 34
- 0
- 约2.1千字
- 约 5页
- 2016-11-27 发布于河南
- 举报
WIN32 API之菜单
《WIN32 API之菜单》
本文主要使用的工具为VC6.0英语版,如有使用中文版的童鞋们请自行翻译哟,考验大家英语水平的时候到了。
1. 新建一个Win32 Application项目,项目名填:Menu,点击“OK”后选择“An empty project”,点击完成。
2. 新建一个源程序。当然要保存到上面新建的项目内,相信读者的基础已经非常好了,作者就不废话了。
参考源程序:
#include windows.h
#include resource.h
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
static TCHAR szAppName[] = TEXT (HelloWin) ;
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) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName =MAKEINTRESOURCE(IDR_MENU1);//菜单名
wndclass.lpszClassName = szAppName ;
if (!RegisterClass (wndclass))
{
MessageBox (NULL, TEXT (This program requires Windows NT!),
szAppName, MB_ICONERROR) ;
return 0 ;
}
hwnd = CreateWindow( szAppName,
TEXT (The Hello Program),
WS_OVERLAPPEDWINDOW,
300,
200,
300,
100,
NULL,
NULL,
hInstance,
NULL) ;
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
while (GetMessage (msg, NULL, 0, 0))
{
TranslateMessage (msg) ;
DispatchMessage (msg) ;
}
return msg.wParam ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_DESTROY:
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
3. 添加菜单:Insert→Resource→Menu→New,自定义菜单,这个应该比较简单吧。然后保存到项目路径下,命名为menu.rc。作者保存的路径为C:\Menu\,此时还会在此路径下生成resource.h文件,如图所示。
4. 引入菜单:在FileView下的Sources Files文件夹右击,弹出的菜单选择”Add Files to Folder”,弹出打开对话框选择刚保存的menu.rc资源文件,确定,用同样的方式引入resource.h到Resource Files文件夹。如图所示。
5. 运行程序,出现错误,显示无法打开resource.h。此时要做以修改:Tools→Options→Directories,如图所示,在show directories for:下拉列表选择includ
原创力文档

文档评论(0)