簡體   English   中英

如何使用 c++ 和使用 Visual Studio 2017 菜單編輯器創建帶有 Windows 菜單的 win32 應用程序

[英]how to create a win32 application with Windows menus using c++ and using the visual studio 2017 menu editor

在使用 Visual Studio 2017 社區創建 win32 項目后,我已將菜單添加到已經存在的彈出菜單中。 在“文件”下方添加一個彈出項目“Mypop”后,我打開了新選項的屬性並復制了 ID; 'ID_FILE_MYPOP' 進入我的 WndProc WM_COMMAND 循環。

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

... 案例 ID_FILE_MYPOP:中斷;

它出現錯誤消息“標識符 ID_FILE_MYPOP 未定義”。

我只能通過打開 resource.h 文件來糾正這個問題,它會響應“這個文件已經在另一個設備上打開了你想關閉它嗎?”。 如果我回答是,那么我可以看到 resource.h 文件的內容,它包括 ID_FILE_MYPOP。 然后,如果我關閉 resource.h 文件,WndProc 中的錯誤消息就會消失,並且菜單添加工作正常。

我的問題是:

每次向 resource.rc 文件添加菜單項時,是否必須打開和關閉 resource.h header 文件?

哪個應用程序可能打開了 resource.h 文件?

如果有人可以幫助我,我將不勝感激。

ps 如果我打開和關閉項目解決方案,我也可以刪除錯誤語句。

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM 
lParam)
{
    switch (message)
{
    case WM_COMMAND:
    {
        int wmId = LOWORD(wParam);
        // Parse the menu selections:
        switch (wmId)
        {
        case  ID_FILE_MYPOP:
            break;
        case IDM_ABOUT:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
            break;
        case ID_NEWEDITIDAPPROACH:
            break;
        case IDM_NEW7:
            break; 
        case IDM_EXIT:
            DestroyWindow(hWnd); 
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
    }
    break;

...}

雙擊解決方案資源管理器中的資源文件 - 資源編輯器應該打開(這是打開 resource.h 的應用程序):

解決方案資源管理器中的資源文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM