问一个sdk的问题,弹出对话框,在菜单中可以弹出,在某一个对话框上面点击按钮弹出另一个,怎么做?WndProc 里面,点击菜单后
case IDM_APP_ABOUT :
               DialogBox (hInstance, TEXT ("AboutBox"), hwnd, AboutDlgProc) ;
               break ;
可以。但在某一个对话框上面点击按钮弹出另一个,怎么做?

解决方案 »

  1.   

    对话框不是有它自己的回调函数嘛 
    你在这个回调函数中判别消息后再来一次DialogBox试试
      

  2.   

    应该在第一个弹出的对话框里面建立消息循环
    响应类似OnButtonDown的事件
      

  3.   

    对话框有它自己的回调函数,可是 DialogBox 需要的hInstance 怎么得到呢?在
    case WM_INITDIALOG :
      hInstance = ((LPCREATESTRUCT) lParam)->hInstance ;
              return TRUE ;这样子,没有起到作用啊。
    case  IDC_BUTTON1:
      DialogBox (hInstance, TEXT ("TestBox"), hDlg, TestDlgProc) ;
      break;
      

  4.   

    同样是在WndProc 里面
    case WM_COMMAND:
    {
        switch(LOWORD(wParam))
        {
            case IDC_BUTTON:
                   DialogBox (hInstance, TEXT ("AboutBox"), hwnd,AboutDlgProc) ;
                   break ;    }
    }
    break;
      

  5.   

    nuaazwg(潇湘浪客) 完全正确
      

  6.   

    在WinMain里把hInstance参数保存在一个全局变量里。然后用它作为DialogBox的参数