Використання рядка заголовка форми як місця для виведення підказок, MS Office, Програмні керівництва, статті

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

Я в цю панельку (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 = “При введення ….


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

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*