こんばんわ。
VC++6.0,SDIでアプリケーションを作成中です。
viewクラスから、MainFrameのツールバーのボタンを淡色表示させたいのですが
どうすればよろしいのでしょうか?
CToolBarCtrl bar = m_wndToolBar.GetToolBarCtrl;
bar->EnableButton( ID_LOAD, FALSE );
上記だとエラーでうまくいきませんでした。
どうかご教授の程おねがいいたします。
エラーって、コンパイルエラーですか? それとも実行時?
m_wndToolBar は View のメンバではないから、
そのコードをViewに書いてもエラーになるでしょうけど。
レスどうもです。
>エラーって、コンパイルエラーですか? それとも実行時?
コンパイルエラーです。
>m_wndToolBar は View のメンバではないから、
>そのコードをViewに書いてもエラーになるでしょうけど。
では、どのように直せばよろしいのでしょうか?
よろしくお願いいたします。
ViewからFrameにボタンの色を変えろ!とお願いすればいい。
そのためには、
- View は Frameのポインタなり参照なりを手に入れる。
- Frameにはボタンの色を変えるメソッドを用意しておき、
View からそれを呼ぶ。
-- もしくは ---
Frame から View に SendMessage し、Frameはそれに反応する。
MFCなら
((CMainFrame *)AfxGetMainWnd())-> (以下略)
とか
extern CXXXApp theApp;
(中略)
theApp.m_pMainWnd-> (以下略)
とか。
自己解決いたしました。
アドバイスどうもありがとうございました。