トップ回答者
クラスウィーザードについて質問です。

質問
すべての返信
-
まさ1111 さんからの引用 ツールバーのボタンを変更しようとしてるんですが
VC++6.0なら変更したツールバーのボタンに付けたIDでクラスウィーザードから
関数の追加できるようですが、VC++2005では、どうしたらよいかわかりません。
ボタンの変更というのは分かりませんが、ボタンを押したときの処理を書きたいのですか?
クラスウィザードは廃止されましたので、クラスビューを開いて、そこで出てくるクラスを選択し、プロパティウィンドウからハンドラを追加する形になります。
次のサイトが参考になると思います。
-
実は、http://tserve01.aid.design.kyushu-u.ac.jp/~fujiki/vc_lecture/c_6.htmのページを参考してるんですが
ツールバーのボタンとIDを変更した後どうやったらプロパティウィンドウのイベントの欄にコマンドを追加させる
ことが出来るのかがわからないです。
初心者の質問でもうしわけないですが、詳しく教えていただけないでしょうか。
お願いいたします。
-
お手軽なのはメニューにも同じIDのものを追加することです。
こうすれば、プロパティウィンドウから追加できるはずです。
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200308/03080033.txt
手動でのやり方
※MainFrameかViewかは問わないはずですが、ここではCMainFrameに追加することを考えます。
1.ツールバーのプロパティからリソースIDを調べる(例:ID_BUTTON_TEST)
2.MainFrame.hファイルに次のような関数宣言を追加する。
Code Snippetafx_msg void OnButtonTest();3.MainFrame.cppファイルの先頭にあるBEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)とEND_MESSAGE_MAP()の間に次のように追加する。(この例ではID_BUTTONTESTをOnButtonTest関数に割り当てている)
Code SnippetON_COMMAND(ID_BUTTONTEST, OnButtonTest)4.同じMainFrame.cppファイルのどこかにOnButtonTest関数を追加する(位置は問いませんが、最後のあたりかな)
Code Snippetvoid CMainFrame::OnButtonTest()
{
AfxMessageBox(_T("Hello"));
}