3
View 클래스에서 특정 설정 코드를 추출하여 CSettings 클래스에 넣으 려합니다.CCmdTarget 파생 클래스를 MFC 메시지 체인에 포함시키는 방법은 무엇입니까?
내가 설정의 양이 CSettings 클래스에서 처리되어야 설정에 대한 메뉴 (리본)에서 이상의 80
모든 메시지가 될 것입니다 내를 CView 클래스를 부풀게하고 싶지 않아요.
내가 이해할 수없는 유일한 점은 메시지 맵 엔트리를 CMyView 메시지 맵에 삽입하는 방법입니다.
//The main purpose of class CSettings is to remove all the logic of settings from View.
class CSettings : public CCmdTarget
{
DECLARE_MESSAGE_MAP()
DECLARE_DYNAMIC(CSettings)
void OnCheckS1() {
m_bVal1 = !m_bVal1;
}
void OnUpdateCheck1(CCmdUI* pCmdUI){
pCmdUI->SetRadio(m_bVal1);
}
bool m_bVal1;
<other 80 settings>
}
BEGIN_MESSAGE_MAP(CSettings, CCmdTarget)
ON_COMMAND(ID_CHECK_S1, &CSettings::OnCheckS1)
ON_UPDATE_COMMAND_UI(ID_CHECK_S1, &CSettings::OnUpdateCheck1)
END_MESSAGE_MAP()
class CMyView : public CView
{
...
CSettings m_sett;
}
BEGIN_MESSAGE_MAP(CMyViewView, CView)
--->>> ??? <<<----
END_MESSAGE_MAP()