gpt4 book ai didi

delphi - 在 Delphi XE2 TActionMainMenubar 中显示提示

转载 作者:行者123 更新时间:2023-12-02 14:00:13 27 4
gpt4 key购买 nike

我正在努力尝试在 TAc​​tionMainMenuBar 中显示提示。德尔福XE2。

我正在运行时创建菜单。我添加类别、子项目,清除菜单,一切都很好。单击菜单项可以正常工作(目前它只是使用操作项标记执行 ShowMessage,但这很好)。

这是添加新菜单项的代码:

function TActionF.NewAction(AParent: TActionClientItem; Caption: String; aTag : integer; ExecuteAction: TNotifyEvent):TActionClientItem;
var
newActionClient : TActionClientItem;
AnewAction : TAction;
begin
newActionClient := TActionClientItem(AParent.Items.insert(AParent.Items.Count));
newActionClient.Caption := Caption; //??
newActionClient.UsageCount := -1; // turn of menu priority stuff for now
AnewAction := TAction.Create(Self);
AnewAction.Tag := aTag;
AnewAction.ImageIndex := -1;
AnewAction.Caption := Caption;
AnewAction.Hint := Caption + 'Action Tag = ' + IntToStr(aTag);
AnewAction.OnHint := acnDoHint; // fixed, could be parameter, but onHint is never called !!??
AnewAction.OnExecute := ExecuteAction; // passed as parameter
newActionClient.Action := AnewAction;
Result := newActionClient;
end;

我正在设置操作的“提示”。我也尝试过分配 OnHint,但 OnHint 从未被调用。浏览菜单时我根本无法获得该提示。

我在所有我能看到的地方都将 ShowHint 设置为 True。

问题是无论我如何尝试都无法显示任何菜单提示。如果我能得到它,我可以自己显示它(如果程序不能)。 OnHint 永远不会被调用。

我已经发布了我的菜单程序(Delphi XE2)的完整源代码,这是一个尽我所能缩小范围的小例子,如果有人想查看该程序,可以在我的公共(public) DropBox 中发布。

https://dl.dropbox.com/u/58421925/Actions.zip

最佳答案

这正是您想要的:www.delphi.about.com/od/vclusing/a/menuitemhints.htm

它处理 WM_MENUSELECT 消息并在其自己的窗口中显示提示 ( TMenuItemHint = class(THintWindow) )。

关于delphi - 在 Delphi XE2 TActionMainMenubar 中显示提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13070876/

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