[PR]

メニュー項目の整合性を維持する

戻る

 メニュー項目の有効・無効を切り替えるには、関数 EnableMenuItem() を使う。
 メニュー項目にチェックマークを表示するには、関数 CheckMenuItem() を使う。

 状態に合わせてメニュー項目を変更するのなら、メッセージ WM_INITMENU, WM_INITMENUPOPUP 受信時に処理をするのが楽だ。

例:

LRESULT APIENTRY WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
	// UINT uMsg; は、ウィンドウに送られてきたメッセージの値
	switch( uMsg )
	{
		// メニューがアクティブになろうとする時に送信される。
		case WM_INITMENU: // もしくは WM_INITMENUPOPUP
		{
			HMENU hMenu = (HMENU)wParam; // メニューのハンドルは wParam に保存されている。
			
			…… 省略 …… // ここでメニュー項目の状態を変更する。

			return 0;
		}

	…… 省略 ……

}//WindowProc

関連

システムメニューの項目を変更する


Google
ご意見・ご感想をお聞かせ下さい。匿名で送信できます。

 * 返信が必要な場合には postmaster@katsura-kotonoha.sakura.ne.jp へ直接メールしてください。

水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp