各位我在学习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,就有问题(乱码),如果要判断的话就要取俩次值?该怎么处理更好呢?