(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Использование строки заголовка формы как места для вывода подсказок

В этой статье  я объяснил, как сделать имитацию строки заголовка и намекнул, что в эту панельку можно и подсказки пользователю выводить. Код, в принципе, очень прост (я думаю, Вы без напряга сможете написать что-нибудь свое), но вся проблема в том, как сделать это элегантнее и меньше по размеру ;).

Я в эту панельку (lblInfoTips) вывожу краткие подсказки по элементу управления, расположенному на форме, когда пользователь либо наводит мышку на него, либо выделяет, неважно, клавишами или мышкой. Короче, обрабатываю события [Перемещения указателя] и [Получения фокуса] элемента управления. Можно, конечно, написать свой код для перехвата события в модуле формы, но при таком простом решении начинаешь понимать, что модуль формы просто захламляется вот такими повторяющимися обработчиками событий (шутка ли, на каждый элемент по два дополнительных события) и за деревьями уже не видно леса ;).

Немного подумав ;), я пришел к такому решению - в модуль формы вставляю такую функцию:

Private Function MouseMoveInfo(NumberInfo As Integer)
Select Case NumberInfo

Case 1: Me.lblInfoTips.Caption = "Щелчок на кнопке очистит все поля и подготовит форму для добавления нового нарушителя"
Case 2: Me.lblInfoTips.Caption = "Вы легко можете найти все подходящие записи, указав лишь несколько символов в поле  [Образец:]"
Case 3: Me.lblInfoTips.Caption = "При вводе реквизитов происходит поиск и предложение подходящих вариантов в списке"
Case 4: Me.lblInfoTips.Caption = "Можно указать дату, щелкнув на кнопке календаря, или сразу ввести дату с любыми разделителями"

End Select
End Function

По мере увеличения элементов на форме просто добавляйте дополнительные строки в функцию, или используйте вызов одинаковой информации в однотипных элементах. Двоеточие поставлено для того, чтобы избежать лишних переносов строк.

В окне свойств на вкладке [События] каждого элемента управления в событие [Перемещения указателя] и [Получения фокуса] вставляю: 

=MouseMoveInfo(1)

Конечно, номер в скобках выбирайте в зависимости от того, какое информационное сообщение Вы хотите отобразить при проведении мышкой над элементом или при получении элементом фокуса.

В моих программах имеются всплывающие формы, открывающиеся относительно элементов управления главной формы (об этом я напишу позже). Чтобы использовать панель lblInfoTips главной формы для вывода подсказок для элементов всплывающей формы в модуле всплывающей формы используйте следующую функцию:

Private Function MouseMoveInfo(NumberInfo As Integer)
Select Case NumberInfo

Case 1: Forms!frmНарушения.lblInfoTips.Caption = " Выбор подходящего префикса в зависимости от способа регистрации входящего материала"
Case 2: Forms!frmНарушения.lblInfoTips.Caption = " В поле регистрационного номера допускается вписывать только цифры"

End Select
End Function

У меня этих справочных строк в некоторых формах до 40, но никакой проблемы с быстродействием не наблюдается.

Таким образом, удается компактно разместить самую необходимую справочную информацию, которая помогает пользователю ориентироваться в программе (ну, конечно, если он умеет читать ;). 

С другой стороны - что нам мешает выводить подсказку просто в стандартную строку заголовка формы: 

....Case 3: Me.Caption = "При ввод....

так я тоже попробовал, но некрасиво как-то и уже повторюсь, не вписывается в общую стилистическую гамму программы и шрифт жирный поэтому в стандартной строке заголовка формы умещается меньше символов, чем хотелось бы.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 04.10.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Windows Professional 10, Электронный ключ
Microsoft 365 Apps for business (corporate)
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Новости мира 3D-ускорителей
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100