質問編集履歴

2

再追記

2016/04/19 23:49

投稿

hsk
hsk

スコア728

test CHANGED
File without changes
test CHANGED
@@ -113,3 +113,55 @@
113
113
  >::CheckMenuItem(hmenuPopup, ...
114
114
 
115
115
  としてみましたが、同じでした。
116
+
117
+
118
+
119
+ ---
120
+
121
+ 再追記
122
+
123
+ GetMenuItemInfoやSetMenuItemInfoを利用しても、変化ありませんでした(エラーにもなりません)
124
+
125
+
126
+
127
+ ```C++
128
+
129
+ void COcxCtrl::OnPopupCheck()
130
+
131
+ {
132
+
133
+ HMENU hmenu = ::LoadMenu((HINSTANCE)::GetWindowLong(this->GetSafeHwnd(), GWL_HINSTANCE), MAKEINTRESOURCE(IDR_MENU1));
134
+
135
+ HMENU hmenuPopup = ::GetSubMenu(hmenu, 0);
136
+
137
+
138
+
139
+ MENUITEMINFO menuItemInfo;
140
+
141
+ ::ZeroMemory(&menuItemInfo, sizeof(menuItemInfo));
142
+
143
+ menuItemInfo.cbSize = sizeof(menuItemInfo);
144
+
145
+ menuItemInfo.fMask = MIIM_STATE;
146
+
147
+
148
+
149
+ DWORD d = ::GetMenuItemInfo(hmenu, IDM_POPUP_CHECK, false, &menuItemInfo);
150
+
151
+ DWORD e = ::GetLastError();
152
+
153
+
154
+
155
+ menuItemInfo.fMask = MIIM_STATE;
156
+
157
+ menuItemInfo.fState |= MF_CHECKED;
158
+
159
+
160
+
161
+ DWORD dw = ::SetMenuItemInfo(hmenu, IDM_POPUP_CHECK, false, &menuItemInfo);
162
+
163
+ DWORD ee = ::GetLastError();
164
+
165
+ }
166
+
167
+ ```

1

追記

2016/04/19 23:49

投稿

hsk
hsk

スコア728

test CHANGED
File without changes
test CHANGED
@@ -95,3 +95,21 @@
95
95
 
96
96
 
97
97
  何かご指摘いただけますと助かります。
98
+
99
+
100
+
101
+ ---
102
+
103
+ 追記
104
+
105
+ 該当メニュー項目プロパティのCheckedをFalseにすると、::CheckMenuItem() の戻り値は 0 です。
106
+
107
+
108
+
109
+ >::CheckMenuItem(hmenu, ...
110
+
111
+
112
+
113
+ >::CheckMenuItem(hmenuPopup, ...
114
+
115
+ としてみましたが、同じでした。