|
|
|||||||||||||||||||||||||||||
|
Использование строки заголовка формы как места для вывода подсказокИсточник: Accessboom
В этой статье я объяснил, как сделать имитацию строки заголовка и намекнул, что в эту панельку можно и подсказки пользователю выводить. Код, в принципе, очень прост (я думаю, Вы без напряга сможете написать что-нибудь свое), но вся проблема в том, как сделать это элегантнее и меньше по размеру ;). Я в эту панельку (lblInfoTips) вывожу краткие подсказки по элементу управления, расположенному на форме, когда пользователь либо наводит мышку на него, либо выделяет, неважно, клавишами или мышкой. Короче, обрабатываю события [Перемещения указателя] и [Получения фокуса] элемента управления. Можно, конечно, написать свой код для перехвата события в модуле формы, но при таком простом решении начинаешь понимать, что модуль формы просто захламляется вот такими повторяющимися обработчиками событий (шутка ли, на каждый элемент по два дополнительных события) и за деревьями уже не видно леса ;). Немного подумав ;), я пришел к такому решению - в модуль формы вставляю такую функцию: Private Function MouseMoveInfo(NumberInfo As Integer)
End Select По мере увеличения элементов на форме просто добавляйте дополнительные строки в функцию, или используйте вызов одинаковой информации в однотипных элементах. Двоеточие поставлено для того, чтобы избежать лишних переносов строк. В окне свойств на вкладке [События] каждого элемента управления в событие [Перемещения указателя] и [Получения фокуса] вставляю: =MouseMoveInfo(1) Конечно, номер в скобках выбирайте в зависимости от того, какое информационное сообщение Вы хотите отобразить при проведении мышкой над элементом или при получении элементом фокуса. В моих программах имеются всплывающие формы, открывающиеся относительно элементов управления главной формы (об этом я напишу позже). Чтобы использовать панель lblInfoTips главной формы для вывода подсказок для элементов всплывающей формы в модуле всплывающей формы используйте следующую функцию: Private Function MouseMoveInfo(NumberInfo As Integer)
End Select У меня этих справочных строк в некоторых формах до 40, но никакой проблемы с быстродействием не наблюдается. Таким образом, удается компактно разместить самую необходимую справочную информацию, которая помогает пользователю ориентироваться в программе (ну, конечно, если он умеет читать ;). С другой стороны - что нам мешает выводить подсказку просто в стандартную строку заголовка формы: ....Case 3: Me.Caption = "При ввод.... так я тоже попробовал, но некрасиво как-то и уже повторюсь, не вписывается в общую стилистическую гамму программы и шрифт жирный поэтому в стандартной строке заголовка формы умещается меньше символов, чем хотелось бы. Ссылки по теме
|
|