Мне интересно, есть ли простой способ узнать, какое устройство ввода вызвало конкретное событие GUI.Как узнать, какое устройство вызвало конкретное событие в Delphi?
Например: A TButton.OnClick
Событие увольняется. Вызов пользователя нажатием клавиши (клавиша быстрого доступа, Enter
ключ для кнопки по умолчанию, space
ключ для сфокусированной кнопки и т. Д.), Или это было вызвано щелчком мыши? Есть ли простой способ рассказать?
Причина, по которой я хотел бы знать, так это то, что я могу использовать подсказки для использования клавиатуры в некоторых наших приложениях, когда пользователь использует мышь для инициирования действий, которые также могут выполняться с помощью клавиатуры. Наши системы на цехе находятся в довольно пыльной/грязной среде, и мыши, как правило, не так хорошо держатся в них. Кроме того, во многих случаях просто не хватает места для мыши. (Нет, клавиатура без цифровых клавиатур не является решением. На них слишком сильно полагаются.)
Однако, поскольку наши приложения работают в Windows, пользователи, как правило, просто используют программы, как дома, - с помощью мышь. Там нет ничего особенно плохого, но мы упорно трудились, чтобы оптимизировать рабочий процесс ввода быть клавиатурами дружескими, а также. Было бы неплохо, если бы был слабый способ указать нашим пользователям, что есть способ сделать то, что они делают, не забирая мышь.
Почему бы не использовать стандартные способы указания доступа к клавиатуре? –
@ Давид Хеффернан: Как? Я использую стандартные сочетания клавиш, когда это возможно, используйте кнопки по умолчанию, используйте «TAction» (или потомки), чтобы максимально увеличить мои действия с пользовательским интерфейсом. Тем не менее, у меня так много места на экране, я не могу посвятить его добавлению информации о ярлыках по всему пользовательскому интерфейсу. Я бы хотел, чтобы на экране отображалось подсказку, когда пользователь нажимает кнопку «Добавить элемент», которая гласит: «Вы также можете нажать« Вставить », чтобы добавить элемент». – afrazier
Показать ярлыки в подсказках. VCL делает это для вас. Используйте клавиши ускорителя. Пусть пользователь сам это узнает. Не нажимайте на них. –