各位我在學習VC時遇到幾個問題,請幫忙解決一下:
1。在Dialog中可不可以得到Edit控件的WM_KEYDOWN消息?在MFC中用類似SDK中的WndProc可不可以?
2。對於子對話框向父對話框傳遞值(如:輸入的用戶名稱),各個一般用什么方法?
3。類型轉換:SetWindowText((LPCTSTR)e_Recordset->GetCollect("name").bstrVal);值會有問題,但轉換CString 就沒有問題。
12 个解决方案
1\可以。
2、GetDlgItemText(str);
3\如你所說。
1.可以
2.
用ctrl+w為子對話框定義一個類。然后為EDIT控件加入一個變量m_edit
CString str;
mdlg dlg;
if(dlg.DoModal() == IDOK)
{
str = dlg.m_edit;
}
3.UP
1。可以地
2用ctrl+w為子對話框定義一個類。然后為EDIT控件加入一個變量m_edit
CString str;
mdlg dlg;
if(dlg.DoModal() == IDOK)
{
str = dlg.m_edit;
}
3。你說對了
老大們:
1,3我是想知道怎么實現、為什么、??????????
/////////////在Dialog中可不可以得到Edit控件的WM_KEYDOWN消息?
1.
BOOL CXXDialog::PreTranslateMessage(MSG *pMsg)
{
if (pMsg->message==WM_KEYDOWN)
{
if( GetFocus() == (CEdit*)GetDlgItem(IDC_EDIT))
{
MessageBox("COME FROM EDIT!");
return TRUE;
}
}
}
3.
SetWindowText((_bstr_t)e_Recordset->GetCollect("name"))這樣可以嗎?
謝謝各位!
第三個問題:如果取得的值是NULL,就有問題(亂碼),如果要判斷的話就要取倆次值?該怎么處理更好呢?