如题:
我是刚学VC中的SDK,怎么调用对话框,对话框为键盘输入

解决方案 »

  1.   

    ShowWindow(hdlg,ws_show);就可以了啊,当然前提是你要用create创建好了。
      

  2.   

    去看看《WINDOWS程序设计》的第11章
      

  3.   

    先注册一个Windows窗口类RegisterClass / RegisterClassEx
    创建一个Windows窗口CreateWindow / CreateWindowEx
    ShowWindow(hwnd, int)
      

  4.   

    INT_PTR DialogBox(
      HINSTANCE hInstance,  // handle to module
      LPCTSTR lpTemplate,   // dialog box template
      HWND hWndParent,      // handle to owner window
      DLGPROC lpDialogFunc  // dialog box procedure
    );
      

  5.   

    INT_PTR DialogBox(
      HINSTANCE hInstance,  // handle to module
      LPCTSTR lpTemplate,   // dialog box template
      HWND hWndParent,      // handle to owner window
      DLGPROC lpDialogFunc  // dialog box procedure
    );
      

  6.   

    显示对话框时,采用DialogBox函数,该函数的声明如下:
    INT_PTR   DialogBox( 
        HINSTANCE   hInstance,     //  实例句柄
        LPCTSTR   lpTemplate,       //   对话框资源句柄
        HWND   hWndParent,             //   父窗体句柄
        DLGPROC   lpDialogFunc     // 处理对话框消息函数,);
    假设hInstance是从WinMain传过来的实例句柄,IDD_MYDLG是已有的对话框句柄,对话框的消息函数体如下:
    LRESULT CALLBACK MyDlgProc(HWND hDlg,UINT msg,WPARAM wParam,LPARAM lParam)
    主窗体的句柄是hwnd,那么显示对话框的函数就是:
    DialogBox(hInstance,MAKEINTRESOURCE(IDD_MYDLG),hwnd,(DLGPROC)MyDlgProc);当需要关闭对话框时,调用方法:
    BOOL EndDialog(HWND hDlg,int nResult);
    返回结果有两种:IDOK与IDCANCEL;
    点击确定时语句如下:
    EndDialog(hDlg,IDOK);
    点击取消时语句如下:
    EndDialog(hDlg,IDCANCEL);