检查菜单项是否在 Delphi 中使用 API Win32 启用
Check Menu Item is Enable With API Win32 in Delphi
当菜单项被禁用然后在控制应用程序中传递代码 "PostMessage" 时我在这段代码中出现问题,因为我需要检查菜单项是否已启用然后使用 PostMessage。
HandleMenu:= GetMenu(ParentAppHandle);
HandleMenu:= GetSubMenu(HandleMenu, 6 {menu item no});
item:= GetMenuItemID(HandleMenu , 12 {sub menu item no});
PostMessage(ParentAppHandle, WM_COMMAND, MakeWParam(item, 0), 0);
使用 WinAPI 函数 GetMenuState。
示例:
var
State: UINT;
begin
State:= GetMenuState(HandleMenu , 12, MF_BYPOSITION);
if (State and (MF_DISABLED or MF_GRAYED)) = 0 then
begin
// Menu Item is enabled
end
else
begin
// Menu Item is disabled
end;
当菜单项被禁用然后在控制应用程序中传递代码 "PostMessage" 时我在这段代码中出现问题,因为我需要检查菜单项是否已启用然后使用 PostMessage。
HandleMenu:= GetMenu(ParentAppHandle);
HandleMenu:= GetSubMenu(HandleMenu, 6 {menu item no});
item:= GetMenuItemID(HandleMenu , 12 {sub menu item no});
PostMessage(ParentAppHandle, WM_COMMAND, MakeWParam(item, 0), 0);
使用 WinAPI 函数 GetMenuState。
示例:
var
State: UINT;
begin
State:= GetMenuState(HandleMenu , 12, MF_BYPOSITION);
if (State and (MF_DISABLED or MF_GRAYED)) = 0 then
begin
// Menu Item is enabled
end
else
begin
// Menu Item is disabled
end;