Форум — Ответы     (  К темам )
 ?  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();
}
//--------------------------------------

// что-то подобное, только надо еще немного доработать
//