点击编辑框弹出对话框
如题,按照http://topic.csdn.net/u/20100630/15/728f2d71-6958-44ab-802e-e0dbc23f2e58.html?seed=1100924977&r=77579804#r_77579804
所说的方法其实弹出什么都无所谓,主要是编辑框的点击事件处理遇到点问题,我试验了Edit和RichEdit2.0控件,试验了网上相传的重载Dlg::PreTranslateMessage(MSG* pMsg)方法;SetFocus方法;自己定义事件方法....都没有解决我遇到的问题,可能是我实现的不对,请大家帮忙解决,谢谢!
我想在点击编辑框时弹出个东西,但是上述方法试验都遇到同一问题,就是从我第一次点在编辑框上,弹出提示后,以后我不点编辑框,点对话框上的其他任何位置,都会弹出提示。似乎我处理的不是编辑框的点击事件。我如何才能获得正常效果呢?“点编辑框有提示,点其他位置无反映。”
帖一个方法的代码,各位看是不是有问题。如果有更好的实现方法,也请赐教,能实现目的就行。
BOOL CTestFileDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message == WM_LBUTTONDOWN)
{
HWND hWnd = ::GetFocus();
int iID=::GetDlgCtrlID(hWnd);
if(iID==IDC_EDIT)
{
AfxMessageBox(_T("点我!"));
}
}
////////////////或者////////////////////////////////
if (pMsg->message == WM_LBUTTONDOWN)
{
CWnd * pWnd = (CWnd*) GetDlgItem(IDC_RICHEDIT21);
if (pWnd == GetFocus())
{
AfxMessageBox(_T("点我!"));
return TRUE;
}
}
////////////////////////////////////////////////////////
return CDialog::PreTranslateMessage(pMsg);
}
后来在
派生一个编辑框类,在派生的类中处理PreTranslateMessage
结果点击 没反应啊。。。
请高人解答,谢谢~~