MFC编辑控件消息句柄访问Document对象

时间:2019-03-11 20:16:01

标签: c++ visual-c++ mfc

我创建了一个扩展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"));
}

1 个答案:

答案 0 :(得分:0)

CMFCDoc::OnUpdateTextColor(CCmdUI *pCmdUI)

CEditControl::OnEnSetfocus() 不打来电话?