我想學習一些基本的win32 api。我看到項目添加到菜單欄的教程都提到使用類似:Win32 API C++菜單欄
hMenubar = CreateMenu();
hMenu = CreateMenu();
AppendMenuW(hMenu, MF_STRING, IDM_FILE_NEW, L"&New");
AppendMenuW(hMenu, MF_STRING, IDM_FILE_OPEN, L"&Open");
AppendMenuW(hMenu, MF_SEPARATOR, 0, NULL);
AppendMenuW(hMenu, MF_STRING, IDM_FILE_QUIT, L"&Quit");
AppendMenuW(hMenubar, MF_POPUP, (UINT_PTR)hMenu, L"&File");
但在VS2013的C++桌面默認的項目有一個文件和幫助菜單欄和內他們退出和版本信息。但他們所做的只是在WndProc中有這樣一個開關:
switch (message)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// Parse the menu selections:
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
我有幾個問題。它們是如何添加文件和幫助菜單欄以及菜單欄中的關於和退出項目而不使用createmenu()等的? IDM_ABOUT和IDM_EXIT是什麼意思?他們在菜單中有這些,但只是將它們放在switch語句中,將它們添加到菜單欄中?什麼是wmId和wmEvent,爲什麼在wmId上打開?實際上將這些項目添加到菜單欄是什麼?
如果你需要看我的節目更多的代碼,它只是一個非空C++ Win32項目在VS2013
感謝您的任何答案提供的,如果有人能在一個良好的方向指向我,它會被appreicated目前儘可能win32 api C++教程。
',它將如果有人可以appreicated指向我的方向,儘可能好的當前win32 api C++教程'任何書由Charles Petzold。 – PaulMcKenzie
非常感謝,我會檢查它 – shenk