我创建了一个扩展CEdit的新类,以覆盖某些消息句柄。
我的最终目标是当焦点对准编辑控件时,一些工具栏按钮将变为可用。
我在doc中创建了一个bool变量。然后将pCmdUI-> enable()设置为此布尔值。在新的编辑控件类中,onfocus被覆盖。我无法从onfocus消息句柄更新此bool vairbale。
void CMFCDoc::OnUpdateTextColor(CCmdUI *pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->Enable(shape_onfocus_);
}
class CMFCDoc : public COleServerDoc
{
...
bool shape_onfocus_;
}
//edit control
#include <afxwin.h>
class CEditControl :
public CEdit
{
public:
CEditControl();
~CEditControl();
DECLARE_MESSAGE_MAP()
afx_msg void OnEnSetfocus();
};
void CEditControl::OnEnSetfocus()
{
//----- I want to update shape_onfocus_ here. -----
this->SetWindowTextA(_T("Hello world"));
}
答案 0 :(得分:0)
是CMFCDoc::OnUpdateTextColor(CCmdUI *pCmdUI)
或CEditControl::OnEnSetfocus()
不打来电话?