WIN32 API之菜单.docVIP

  • 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)

1亿VIP精品文档

相关文档