viewクラスからMainFrameのツールバーのボタンを淡色表示させたい

[戻る]
onajihoko 2004/07/09(金) 01:34:26
こんばんわ。
VC++6.0,SDIでアプリケーションを作成中です。

viewクラスから、MainFrameのツールバーのボタンを淡色表示させたいのですが
どうすればよろしいのでしょうか?

CToolBarCtrl bar = m_wndToolBar.GetToolBarCtrl;
bar->EnableButton( ID_LOAD, FALSE );

上記だとエラーでうまくいきませんでした。
どうかご教授の程おねがいいたします。

επιστημη 2004/07/09(金) 07:21:05
エラーって、コンパイルエラーですか? それとも実行時?
m_wndToolBar は View のメンバではないから、
そのコードをViewに書いてもエラーになるでしょうけど。

onajihoko 2004/07/09(金) 08:14:45
レスどうもです。

>エラーって、コンパイルエラーですか? それとも実行時?

コンパイルエラーです。

>m_wndToolBar は View のメンバではないから、
>そのコードをViewに書いてもエラーになるでしょうけど。

では、どのように直せばよろしいのでしょうか?

よろしくお願いいたします。

επιστημη [E-Mail] [HomePage] 2004/07/09(金) 09:32:46
ViewからFrameに"ボタンの色を変えろ!"とお願いすればいい。

そのためには、

- View は Frameのポインタなり参照なりを手に入れる。

- Frameには"ボタンの色を変える"メソッドを用意しておき、
  View からそれを呼ぶ。
  -- もしくは ---
  Frame から View に SendMessage し、Frameはそれに反応する。

FrozenAquarium 2004/07/11(日) 03:29:04
MFCなら
((CMainFrame *)AfxGetMainWnd())->  (以下略) 
とか
extern CXXXApp theApp;
(中略)
theApp.m_pMainWnd-> (以下略)
とか。

onajihoko 2004/07/20(火) 01:15:58
[[解決]]
自己解決いたしました。

アドバイスどうもありがとうございました。

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