2007年09月25日

メニューバーとリソースの関係

MFCでWMアプリを作るとき、*.rc2の以下の赤字の部分をコメントアウトすると、メニューリソースが直接メニューバーとして扱える。

/////////////////////////////////////////////////////////////////////////////
//
// SHMENUBAR
//

IDR_MAINFRAME SHMENUBAR DISCARDABLE
BEGIN
IDR_MAINFRAME,
2,

I_IMAGENONE, ID_FILE_NEW, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE,
IDS_NEW, 0, NOMENU,

I_IMAGENONE, IDM_MENU, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
IDS_MENU, 0, 0,
END


これがわかるまで結構悩みました。
このリソースが定義されてると、メニューリソースよりも優先される模様。
逆に言うとSHMENUBARリソースはなくても大丈夫。
#じゃあなんでMSはこんなのをデフォルトで登録するんだろ?

ちなみに、ダイアログベースで作ったアプリの最初の画面だけはこの手が効かない。理由はわかんない。

posted by Jiro at 15:15 | Comment(0) | TrackBack(1) | 開発Tips
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/5586590
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック

メニューの作り方
Excerpt: 昨日の記事で、ボタンを使うことがいまいちなのはわかったのでメニューをうまく作らねばねと気づいたわけだけで、実際にMFC(C++)で作ってみることにすると、いきなり壁にぶち当たる。 メニューリソースを..
Weblog: フリーウェア開発
Tracked: 2008-01-13 23:24