|
|
#1
|
|||
|
|||
Кликабельный Hint
Здравствуйте, уважаемые форумчане. У меня такое дело: Программа стартует сразу свернутая в трей и от туда выдает hint:
Код:
BalloonHint1.Description := label1.Caption +#13#10+ label2.Caption +#13#10+ label5.Caption+#13#10+ label3.Caption+#13#10+ label6.Caption+#13#10+ label4.Caption; point.X := 1010; //label1.Width; point.Y := 990; //label1.Height; balloonhint1.ShowHint(edit1.ClientToScreen(point)); end; |
#2
|
|||
|
|||
Посмотри в MSDN, там при клике на этот хинт окну приложения посылается определенное сообщение, которое надо обработать самому. Я дописывал этот функционал в TCollTrayIcon и, если правильно помню, делал и при чистой WinAPI реализации. Главное, при создании иконки подсунуть правильный хэндл окна (то окно, в котором ты будешь потом обрабатывать это сообщение).
|
#3
|
||||
|
||||
Event'a у BalloonHint нет, зато вероятно есть WindowProc что принимает все сообщения для балунхинтовой формы, заморские товарисчи советуют создать потомка и перекрыть у него эту процедуру примерно так
Код:
... private { Private declarations } FOnBalloonClick: TNotifyEvent; protected procedure WindowProc(var Message: TMessage); override; public { Public declarations } published property OnBalloonClick: TNotifyEvent read FOnBalloonClick write FOnBalloonClick; end; ... procedure TMyBalloonHint.WindowProc(var Message: TMessage); begin case Message.Msg of WM_SYSTEM_TRAY_MESSAGE: begin case Message.lParam of NIN_BALLOONUSERCLICK: begin FOnBalloonClick(Self); end else inherited; end; end; else Inherited; end; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#4
|
|||
|
|||
Цитата:
|