【发布时间】:2016-05-08 14:00:44
【问题描述】:
当菜单项禁用时我在此代码中的问题,然后将控制应用程序中的代码“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);
【问题讨论】:
-
如果您为禁用的菜单项发送
WM_COMMAND消息,接收应用程序应该忽略该消息。如果接收器崩溃,则说明接收器未正确编码。那不是发件人的错。此外,请确保您拥有正确的菜单所有者HWND。一些应用框架为菜单调度创建了一个专用的HWND。
标签: windows delphi winapi menu delphi-xe