如何在点击确定时从对话框的输入框中读取数据?

解决方案 »

  1.   

    按钮的BN_CLICKED事件中GetDlgItemText()
      

  2.   

    具体看自己了
    如果通过ID,那就GetDlgItemText
    如果绑定变量,那就UpdateData
    如果通过对象,那就GetWindowText
      

  3.   

    int GetDlgItemText( int nID, CString& rString ) ;
      

  4.   

    额,貌似理解错楼主意思了,那就hook
      

  5.   

    木有木有,就是你这意思,CString& rString 这是什么意思?
      

  6.   

    'GetDlgItemText' : function does not take 2 parameters
      

  7.   

    嗯,你是这样的
    CString XXX;
    GetDlgItemText(这里填写控件的ID,这里填写你要保存数据的CString变量)
      

  8.   

    我完全没用mfc,新建的建的是win32 application 这样也行嘛?
      

  9.   

    UINT GetDlgItemText( 
      HWND hDlg, 
      int nIDDlgItem, 
      LPTSTR lpString, 
      int nMaxCount
    );
      

  10.   

    第 1 个参数 hDlg 是包含控件的对话框句柄。第 2 个参数 nIDDlgItem 是控件的标识,我们就是由该标识所指的控件中获取其标题或文本。第 3 个参数 lpString 是一个缓冲区指针,该缓冲区用来存放标题或文本。第 4 个参数 nMaxCount 指出了缓冲区的最大长度。
      

  11.   

    char a[100]={0};
    LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
    { HWND hWnd=NULL;
    switch (message)
    {
    case WM_INITDIALOG:
    return TRUE; case WM_COMMAND:
    if (LOWORD(wParam) == IDC_ok1 || LOWORD(wParam) == IDCANCEL) 
    {
    GetDlgItem(hWnd,IDD_DIALOG1);
    GetDlgItemText( hWnd,IDD_DIALOG1, a, 10 ); //GetWindowText(IDC_gamekind,a,strlen(a));
    MessageBox(NULL,a,"ceshi",IDOK);
    //GetDlgItem(hWnd.IDD_DIALOG1)->m_hWnd;
    MessageBox(NULL,a,a,IDOK);
    EndDialog(hDlg, LOWORD(wParam));
    return TRUE;
    }
    break;
    }
        return FALSE;
    }这样为什么a是空的?MessageBox用来查看a的值