gpt4 book ai didi

windows - 检查菜单项是否在 Delphi 中使用 API Win32 启用

转载 作者:可可西里 更新时间:2023-11-01 11:49:04 26 4
gpt4 key购买 nike

我在这段代码中遇到的问题是,当菜单项被禁用时,然后在控制应用程序中传递代码“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;

关于windows - 检查菜单项是否在 Delphi 中使用 API Win32 启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35108164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com