読者です 読者をやめる 読者になる 読者になる

CMenu

MFC Sample

CMenuはメニューを扱うクラス・・・。

CMenu クラス

前回、CFrameWndのGetMenuを使って、CMenuオブジェクトのポインタを取得し、m_hMenuにメニューハンドルが格納されていることがわかった・・・。

今回は、メニューm_hMenuの1つ目のポップアップメニューにメニュー項目を追加することで、このメニューハンドルがきちんと使えるものであるかを確認する・・・。

CFrameWnd_.cppのOnItem1_1にて、

GetMenuでポインタpMenuを取得・・・。

ポインタからメニューハンドルhMenuも取得・・・。
(m_hMenuそのまま使えるからこれやる意味ないな・・・。)

hMenuの0番目(つまり1つ目)のポップアップメニューhPopupMenu1を取得・・・。

hPopupMenu1の3つあるメニュー項目の後ろに、AppendMenuでItem1-4としてメニュー項目追加・・・。
あ、ID_ITEM_1_4は、

resource.hには用意してある・・・。

f:id:BG1:20150612111036p:plain

Item1-1を選択すると、

f:id:BG1:20150612111055p:plain

無効状態だが、Item1-4が表示された・・・。

Sample/CWinApp_.h at master · bg1bgst333/Sample · GitHub
Sample/CWinApp_.cpp at master · bg1bgst333/Sample · GitHub
Sample/CFrameWnd_.h at master · bg1bgst333/Sample · GitHub
Sample/CFrameWnd_.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/CMenu.rc at master · bg1bgst333/Sample · GitHub