質問編集履歴
2
再追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -55,4 +55,30 @@
|
|
55
55
|
>::CheckMenuItem(hmenu, ...
|
56
56
|
を
|
57
57
|
>::CheckMenuItem(hmenuPopup, ...
|
58
|
-
としてみましたが、同じでした。
|
58
|
+
としてみましたが、同じでした。
|
59
|
+
|
60
|
+
---
|
61
|
+
再追記
|
62
|
+
GetMenuItemInfoやSetMenuItemInfoを利用しても、変化ありませんでした(エラーにもなりません)
|
63
|
+
|
64
|
+
```C++
|
65
|
+
void COcxCtrl::OnPopupCheck()
|
66
|
+
{
|
67
|
+
HMENU hmenu = ::LoadMenu((HINSTANCE)::GetWindowLong(this->GetSafeHwnd(), GWL_HINSTANCE), MAKEINTRESOURCE(IDR_MENU1));
|
68
|
+
HMENU hmenuPopup = ::GetSubMenu(hmenu, 0);
|
69
|
+
|
70
|
+
MENUITEMINFO menuItemInfo;
|
71
|
+
::ZeroMemory(&menuItemInfo, sizeof(menuItemInfo));
|
72
|
+
menuItemInfo.cbSize = sizeof(menuItemInfo);
|
73
|
+
menuItemInfo.fMask = MIIM_STATE;
|
74
|
+
|
75
|
+
DWORD d = ::GetMenuItemInfo(hmenu, IDM_POPUP_CHECK, false, &menuItemInfo);
|
76
|
+
DWORD e = ::GetLastError();
|
77
|
+
|
78
|
+
menuItemInfo.fMask = MIIM_STATE;
|
79
|
+
menuItemInfo.fState |= MF_CHECKED;
|
80
|
+
|
81
|
+
DWORD dw = ::SetMenuItemInfo(hmenu, IDM_POPUP_CHECK, false, &menuItemInfo);
|
82
|
+
DWORD ee = ::GetLastError();
|
83
|
+
}
|
84
|
+
```
|
1
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -46,4 +46,13 @@
|
|
46
46
|
|
47
47
|
だいぶ以前にしたときには出来たのですが、コードはすっかり忘れてしまい、何がおかしいのか思い当たらず困ってしまいました。
|
48
48
|
|
49
|
-
何かご指摘いただけますと助かります。
|
49
|
+
何かご指摘いただけますと助かります。
|
50
|
+
|
51
|
+
---
|
52
|
+
追記
|
53
|
+
該当メニュー項目プロパティのCheckedをFalseにすると、::CheckMenuItem() の戻り値は 0 です。
|
54
|
+
|
55
|
+
>::CheckMenuItem(hmenu, ...
|
56
|
+
を
|
57
|
+
>::CheckMenuItem(hmenuPopup, ...
|
58
|
+
としてみましたが、同じでした。
|