他のクラスで作った関数を使用するには・・・?

[戻る]
ryo 2004/01/28(水) 01:35:27
はじめまして。

使用環境 WINDOWS XP PRO
     MFC MDI VC++ Vr.6.0 を使用しています。
バリバリの初心者ですm(_ _)m
よろしくお願いします。

他のクラスで作った関数を使用するにはどのようにすればいいのでしょうか?

現在複数のFormViewを作ってViewの切り替えをボタン押下時に行おうとしています。

MainFrm.cppで ReplaceView(CRuntimeClass * pViewClass)

の関数を作りそれをCAAAView.Cppの OnButton***関数の中で切り替えられるのかなと思
っているのですが…Javaでの開発は経験があるのですがどうも勝手が違って困ってま
す。よろしくお願いします。

tib 2004/01/28(水) 08:20:02
CAAAView.cppのOnButton***()から、CMainFrameの関数を呼びたいということですか?

AfxGetMainWnd()でCMainFrameへのポインタを取得すれば、CMainFrameのpublic関数を呼
ぶ事ができます。
CAAAView::OnButton***()
{
    CMainFrame *pMainFrame = (CMainFrame*)AfxGetMainWnd();
    if( pMainFrame!=NULL )   pMainFrame->Its_Public_Function();
}

CMainFrame宛にメッセージを投げる事もできます。
CAAAView::OnButton***()
{
    CMainFrame *pMainFrame = (CMainFrame*)AfxGetMainWnd();
    if( pMainFrame!=NULL )   pMainFrame->PostMessage( WM_SOME_MESSAGE, ... );
}

...こういう事でない?

ryo 2004/01/28(水) 13:05:54
[[解決]]
上記のようにしたら動作できましたありがとうございます。

これからもお世話になると思いますがよろしくお願いします。

古いスレッドには追加発言できません。