Всплывающее меню Delphi с подменю и нажатие на элемент выполнит первый элемент в подменю, возможно? - PullRequest
1 голос
/ 10 января 2011

Возможно ли для всплывающего меню выполнить первый элемент в подменю. При наведении мыши появится подменю. Если я нажму на всплывающее окно, могу ли я выполнить щелчок на первом элементе подменю? Это было бы так, что пользователю не нужно переходить в подменю и выбирать первый элемент. Хотя это то, что он будет выполнять наиболее часто используемую опцию в этом случае первый элемент. Использование Delphi 2009.

Ответы [ 3 ]

4 голосов
/ 10 января 2011

Это невозможно (со стандартными меню Windows) и вводит пользователя в заблуждение (поскольку взаимодействие с пользователем будет противоречить вашему поведению)

2 голосов
/ 11 января 2011

Взгляните на TMenuItem.Default.Двойной щелчок по родительскому элементу выполнит элемент подменю по умолчанию.Возможно, недостаточно для вас, но это не нарушает ожидаемого поведения из меню.

TMenuItem.Default

0 голосов
/ 10 января 2011

Вы можете использовать их:

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

, а затем опубликовать другое сообщение, чтобы щелкнуть по выбранному элементу.

...