Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Hint и собственный компонент


salexn ©   (2006-07-03 13:09:00) 

Есть TImage, в котором выводится некоторая графика. Как сделать так, чтобы при набедении на определенную облать выводился хинт, поясняющий что это такое.
Сделал через HintWindow и таймер, но не очень нравится. Зачастую, в данной реализации, почему-то не отрабатывает CMMouseLeave. Хотелось бы оформить ввиде компоненты. Приходится чуть ли не на каждый контрол на форме вешать "убивание" HintWindow.


DimaBr   (2006-07-03 16:44:00) [1]

TMS.HotSpotImage


Макс Черных   (2006-07-03 16:06:00) [2]

Надо перехватывать CM_HINTSHOW

procedure CMHintShow(var Message: TMessage); message CM_HINTSHOW;

procedure МойКомпонент.CMHintShow(var Message: TMessage);
 inherited;
 Message.Result := 1;
 with TCMHintShow(Message) do begin
   ...
   HintInfo^.CursorRect := Область (тип TRect);
   ...
 end;
end;


Тогда когда курсор передвинется за границы Области, то старый хинт закроется и пойдет новый.


salexn   (2006-07-03 14:09:00) [3]

Мне нужно, чтобы перемещаясь мышкой по TImage от области к области хинт показывался для данной области. Потом, в ТВОЕМ случае хинт будет болтаться не зависимо от того, в какой области ты находишься.


Phoroon~   (2006-07-03 13:52:00) [4]


> Что бы он дольше висел?

При создании проекта пиши: Application.HintHidePause:=100000;


Phoroon~   (2006-07-03 13:50:00) [5]

Так а тебе чего нужно!
Что бы он дольше висел?


salexn   (2006-07-03 13:43:00) [6]

И сколько раз покажется хинт в вашем случае, если мышь не покинет TImage? 1 раз...


Phoroon~   (2006-07-03 13:30:00) [7]

У каждого компонента есть свойства: Hint; ShowHint.
Hint - сюда пишешь текст.
ShowHint - ставишь true (показ хинта)

ИМХО
Не надо не чё выдумывать!!!


Наверх

Титульная страница Поиск, карта сайта Написать письмо