带子菜单的Delphi Popup菜单和点击项目将执行子菜单中的第一项,可能吗?

时间:2011-01-10 19:05:21

标签: delphi menu popup

弹出菜单是否可以执行子菜单中的第一项。 鼠标悬停将显示子菜单,如果单击弹出窗口,我可以执行第一个子菜单项的单击吗?这样,用户就不必移动到子菜单并选择第一个项目。虽然在这种情况下它将执行最常用的选项第一项。 使用Delphi 2009。

3 个答案:

答案 0 :(得分:4)

这两者都不可能(使用标准的Windows菜单)并使用户感到困惑(因为用户体验会与您的行为相矛盾)。

答案 1 :(得分:2)

看看TMenuItem.Default。 双击父项将执行默认子菜单项。 对你来说可能不够好,但它不会破坏菜单中的预期行为。

TMenuItem.Default

答案 2 :(得分:0)

你可以使用这些:

Windows.HiliteMenuItem(Handle, TMessage(Msg).WParam, 0, MF_BYPOSITION or MF_HILITE);
Windows.PostMessage(Handle, WM_KEYDOWN, VK_DOWN, 0);

然后发布另一条消息以点击所选项目。