ツールバー、ステータスバー、切り替わる箇所がわかりません。

[戻る]
tokio 2005/05/19(木) 21:22:38
MFC VC++6.0 WinxP

クラスウィザードで作成したMFCプログラムです。
ツールバーとステータスバーのチェックを外すと
ウィンドウが非表示になりますが、
どの関数で行っているのかわかりません。
誰か教えてください。

iijima 2005/05/19(木) 23:25:17
CFrameWndクラスのメンバ関数OnBarCheckのようです。

tokio 2005/05/22(日) 08:51:56
iijimaさんありがとうございます。
ツールバーの方は、OnBarCheckでできました。
ステータスバーの方も同じようにしてやればよいのでしょうか?

RAPT 2005/05/22(日) 11:46:25
表示非表示を切り替えるメニュー選択時のところでブレークポイントを張って、
デバッグ実行で引っ掛けて、トレースすれば分かるかと。

iijima 2005/05/22(日) 12:40:47
> ツールバーの方は、OnBarCheckでできました。
> ステータスバーの方も同じようにしてやればよいのでしょうか?

何ができた/何をやるのですか?
ツールバー/ステータスバーの表示非表示の切り替えはどの関数で定義されているの
か、
というご質問だと受け取れましたので、その関数名をお答えしたまでです。
ツールバーやステータスバーに対して何らかの操作を加えるということであれば、話は
別です。

AppWizardが生成したCMainFrameクラスには、次のデータメンバがありますので、
OnBarCheckなんかは気にせずに、これらを使って操作するのが良いと思います。

    CStatusBar  m_wndStatusBar; // ステータスバー
    CToolBar    m_wndToolBar;   // ツールバー

例:あるメッセージハンドラでステータスバーの表示・非表示を切り替える

void CFrameWnd::OnXxx()
{
    ShowControlBar( &m_wndStatusBar, !m_wndStatusBar.IsWindowVisible(), 
FALSE );
}

iijima 2005/05/22(日) 15:46:57
訂正:クラス名が違いました。

void CMainFrame::OnXxx()
{
    ShowControlBar( &m_wndStatusBar, !m_wndStatusBar.IsWindowVisible(), 
FALSE );
}

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