VC++6.0 MFC Windows98 です
先ほどの質問に関連した内容ですが
宜しく御願い致します
XXXCDoc クラス ---->(a)
XXXCView クラス ----(b)
Viewクラスをもうひとつ作成
XXXView2(基本クラスをCView)--->(c)
それぞれのViewにメッセージを処理する関数を追加
しました。
(メニュー項目のメッセージハンドラであるCOMMANDを使用)
(b)には XXXCView:OnTEST1(){
AfxMessageBox(TEST1);
}
(c)には xxxCView2:OnTEST2(){
AfxMessageBox(TEST2);
}
ところが(b)は正常に処理するのですが
(c)は反応が有りません
宜しく御願いします
View2クラス型変数を管理しているクラスをCxxxとし、
View2へのポインタ変数をm_pView2として、
CxxxのOnCmdMsg()を以下のようにオーバーライドすると、うまくいくかも...?
BOOL Cxxx::OnCmdMsg(UINT nID,int nCode,void* pExtra,
AFX_CMDHANDLERINFO* pHandlerInfo)
{
if(Cxxxの基底クラス::OnCmdMsg(nID,nCode,pExtra,pHandlerInfo))
return TRUE;
if(m_pView2)
return m_pView2->OnCmdMsg(nID,nCode,pExtra,pHandlerInfo);
return FALSE;
}
http://support.microsoft.com/default.aspx?scid=kb;ja;141334
あなたの実現したい事と同等のサンプルのはずです是非参考にしてみてください
格VIEWごとに、
void SetFromDoc();
BOOL SetToDoc(); // Called from SwitchView()
を用意しておくことと
XXXXAppに用意する
CView * SwitchView( UINT nIndex ); // Switch between views
BOOL SaveActiveViewsData(); // Save/Validate active views data
と
protected:
// Array of views attached to single document
CView * m_pViews[NUMVIEWS];
// Index to current view
UINT m_nCurView;
を理解できるようになれば
前回の質問とあわせ一挙に解決できるのではないでしょうか
また
XXXXAppのInitInstanceなどもきちんとご理解できるといいと思います
nさん woodさんどうも有難うございます
ただ、内容が難しく又今後有効活用して行くためにも
じっくりと取り組みたく、実装の作動確認はしていないのですが
解決としたいです
(時間がかかりそうなので ^^)