开发C ++ HMENU(文件>退出)

时间:2012-01-19 19:44:43

标签: c++ dev-c++

我想在你的互联网浏览器上做点什么。它将有一个文件,然后是列表底部的退出。所以我想让它像退出程序一样。 (和Dev C ++和任何其他程序一样[我不编写Web浏览器])

好的,这是我的代码请帮助:

#define ID_Exit 1

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   switch (message)           
   {
       case WM_CREATE:{

            HMENU hMenubar = CreateMenu();
            HMENU hFile = CreateMenu();

            AppendMenu(hMenubar, MF_POPUP, (UINT_PTR)hFile, "File");

            AppendMenu(hFile, MF_STRING, ID_Exit, "Exit");

            SetMenu(hwnd, hMenubar);

            break;
    }


    case WM_COMMAND:{

         if (LOWORD(wParam) == ID_Exit){                                   

         void exit ( int status );

         }

         break;
         }

2 个答案:

答案 0 :(得分:1)

您应该使用Windows函数DestroyWindow来销毁主窗口:

if (LOWORD(wParam) == ID_Exit) {
    DestroyWindow(hwnd);
    break;
}

答案 1 :(得分:0)

Win32应用程序的正确退出序列(来自您的代码段中缺少任何库调用,我猜你所做的是普通的Win32)在这里描述:Using Windows - Destroying a Window

调用exit是一个坏主意,因为它会立即终止您的应用程序,并且不会清理,保存或执行窗口关闭时可能需要执行的任何操作。