refrigerat 发表于 2014-8-22 10:15:12

求助对话框按钮无效

本帖最后由 refrigerat 于 2014-8-22 10:15 编辑

// Dia.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include "resource.h"
BOOL WINAPI MY(HWND hwnd, UINT msg,WPARAM wParam,LPARAM lParam);
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR   lpCmdLine,
                     int       nCmdShow)
{
         
      DialogBoxParam(hInstance,MAKEINTRESOURCE(IDD_1),NULL,NULL,NULL);

      return 0;
}
BOOL WINAPI MY(HWND hwnd, UINT msg,WPARAM wParam,LPARAM lParam)
{
      switch(msg)
      {
      case WM_COMMAND:
                {
                        switch(LOWORD(wParam))
                        {
                        case IDOK:
                              {
                                        MessageBox(hwnd,"您单击了确定","确定",0);
                                        break;
                              }
                        case IDCANCEL:
                              {
                                        MessageBox(hwnd,"您单击了取消","取消",0);
                                        break;
                              }
                        }
               
                        default:
                        break;
                }
    case WM_CLOSE:
                {
                        DestroyWindow(hwnd);
                }
                break;
      }
      return 0;
}



这个项目是新建一个win32 application,新建一个资源脚本 然后插入一个Dialog,ID为IDD_1,编译运行后,Dialog窗口能出来,但是上面的按钮却没有作用包括确认,取消和关闭。这是怎么回事,真是百思不得其解,求神解答。

漩涡鸣人 发表于 2014-8-22 10:57:40

DialogBoxParam(hInstance,MAKEINTRESOURCE(IDD_1),NULL,NULL,NULL);
这句错了,倒数第二个参数应该是对话框过程的指针,应改成
DialogBoxParam(hInstance,MAKEINTRESOURCE(IDD_1),NULL,MY,NULL);

refrigerat 发表于 2014-8-22 11:50:00

漩涡鸣人 发表于 2014-8-22 10:57
DialogBoxParam(hInstance,MAKEINTRESOURCE(IDD_1),NULL,NULL,NULL);
这句错了,倒数第二个参数应该是对话 ...

谢谢你,原来是这么低级的错误,哎,
页: [1]
查看完整版本: 求助对话框按钮无效