![]() |
Подскажите пожалуйста, как можно программно вызвать появление подсказки для определённого компонента?
Заранее благодарен. |
В инспекторе объектов у каждого визуального компнента есть такая строчка Hint. Туда и прописываешь, что тебе надо. А чуть ниже есть ShowHint. Его устанавливаешь в True. Или просто пишешь в FormCreate
Код:
Button1.Hint:='Подсказка'; [s]Исправлено: [mzd], 14:08 14-03-2004[/s] |
Нет, это-то я знаю.
Я хочу чтоб подсказка появлялась не при наводе мышкой на компонент, а по событию. Например. Я печатаю в Едите а в это время выскакивает подсказка о том, что печатать, т.е. без мышки. |
ЕМНИП, подсказка появляется после вызова метода OnHint. Форсируй его вызов и все. :) Только если ты показываешь, что печатать, у пользователя возникает искушение не печатать, а показать мышкой в подсказку. А это немного другая песня, ИМХО.
|
hasherfrog я пытался вызвать onHint для LabeledEdit, но ничего не выходит. Пишет "неопознаный индетификатор". Что можете посоветовать?
|
LedWorm
Код:
public |
Kuper
Спасибо, буду пробовать Добавлено: Kuper Нет, что-то плохо получается, некрасиво и вообще эффект не тот. неужели никак нельзя просто вызвать подсказку, как делает это Делфи, когда пишеш процедуру, он автоматом в подсказке пишет, какие параметры нужно писать. Может кто-нить ещё знает как это сделать? |
тебе не нравится как выглядит окошко хинта? перепиши тогда класс ThintWindow.
Цитата:
|
Цитата:
Я ж говорю, другая песня :rotate: Поскольку я скоро сам что-то подобное буду писать, вот несколько мыслей: 1) Создание и удаление подсказки как VCL-объекта (а также модификация его содержимого в зависимости от действий пользователя) производиться в классе-родителе (в простейшем случае TMemo - у меня QTextEdit). Родитель должен определить где показывать и что показывать. Кроме того, он обязан закрыть подсказку , если сам потеряет фокус. Родитель должен уметь передать фокус в подсказку при нажатии определенных клавиш типа вверх/вниз. 2) Само окно-подсказка - немодальное попап-окно, показываемое по show(). Имплементейшн класса подсказки должен уметь сообщить родителю о том что его закрыли выбором элемента списка. У Вас, вероятно это будет посредством callback, у меня в QT - через сигналы/слоты. 3) Для упрощения/ускорения процесса написания класса можно в качестве основы взять существующий класс подсказки. Но я, скорее всего, буду делать по-другому (QFrame). Вот вкратце и все, собственно. Для меня большей проблемой является определение содержимого подсказки. :) [s]Исправлено: hasherfrog, 14:48 25-03-2004[/s] |
Время: 05:45. |
Время: 05:45.
© OSzone.net 2001-