点击编辑框弹出对话框
其实弹出什么都无所谓,主要是编辑框的点击事件处理遇到点问题,我试验了Edit和RichEdit2.0控件,试验了网上相传的重载Dlg::PreTranslateMessage(MSG* pMsg)方法;SetFocus方法;自己定义事件方法....都没有解决我遇到的问题,可能是我实现的不对,请大家帮忙解决,谢谢!
我想在点击编辑框时弹出个东西,但是上述方法试验都遇到同一问题,就是从我第一次点在编辑框上,弹出提示后,以后我不点编辑框,点对话框上的其他任何位置,都会弹出提示。似乎我处理的不是编辑框的点击事件。我如何才能获得正常效果呢?“点编辑框有提示,点其他位置无反映。”
我也派生一个编辑框类,在派生的类中处理PreTranslateMessage处理了点击事件,可是还是不行,
帖一个方法的代码,各位看是不是有问题。如果有更好的实现方法,也请赐教,能实现目的就行。
BOOL CMyEdit::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 CEdit::PreTranslateMessage(pMsg);
}