Форум — Ответы ( К темам )
? | Dr.Phoenix: как контролировать хинты? (07-05-2003 00:10:33) |
Т.е. как сделать, чтоб при наведении на кнопку, например, хинт выскакивал сразу без задержек, и не ичезал через пару сек, и еще двигался вместе с мышкой? | |
Павел (08-05-2003 15:23:34) | |
Application->HintHidePause Application->HintPause и другие свойства глобального объекта Application, связанные с Hint (есть в Help) Кроме того рассмотрите возможность создания THintWindow public: // User declarations THintWindow *HWin; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Application->HintHidePause = 2000; Application->HintShortPause = 100; Application->HintPause = 100; Application->HintColor = clWhite; } //--------------------------------------------------------------------------- // двигаем Hint вслед за курсором у Panel1 void __fastcall TForm1::Panel1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { TPoint p = Mouse->CursorPos; TRect Tr; Tr.Left = p.x; Tr.Top = p.y + 20; Tr.Right = Tr.Left + 150; Tr.Bottom = Tr.Top + 20; HWin->ActivateHint(Tr,"This is my Hint for Panel1"); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormShow(TObject *Sender) { HWin = new THintWindow(this); HWin->Parent = Form1; HWin->Color = clInfoBk; // и другие нужные вам свойства } //--------------------------------------------------------------------------- void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { HWin->ReleaseHandle(); } //-------------------------------------- // что-то подобное, только надо еще немного доработать // |