Hint - sprawdzenie kiedy się wyświetla i gaśnie.

0

Potrzebuje sprawdzić kiedy tooltip hint się zaświeca i moment w którym gaśnie np dla danej etykiety, bądź przycisku.
Przykład: Zdefiniowałem "Hint" dla etykiety, najeżdżam kursorem po chwili podpowiedź się zapala i za chwilę gaśnie, chcę uchwycić moment zapalania i gaszenia hint'a dla danej etykiedy.

Czy to w ogóle możliwe?

2

Stwórz sobie własną klasę obsługującą hinty i wysyłaj sam sobie informacje o aktywacji oraz dezaktywacji.
Przykład: http://www.delphisources.ru/pages/faq/base/any_shape_of_hint.html

0

jakis przyklad to tego ruskiego kodu?

0
plant power napisał(a):

jakis przyklad to tego ruskiego kodu?
To że kod umieszczono na rosyjskojęzycznej stronie nie robi z niego ruskiego kodu.
Przykładem będzie dowolna formatka z hintami.

0

Ok dzieki.

4

Tamto rozwiazanie po mojemu jak do tego celu to zdecydowanie przekombinowane:

const
  WM_ONHINT = WM_USER + 1000;

type
  THintWindow = class(Controls.THintWindow)
  private
    procedure WMShowWindow(var Msg: TMessage); message WM_SHOWWINDOW;
  public
    procedure ActivateHint(Rect: TRect; const AHint: string); override;
  end;

  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure WMOnHint(var Msg: TMessage); message WM_ONHINT;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure THintWindow.WMShowWindow(var Msg: TMessage);
begin
  inherited;
  SendMessage(Application.MainForm.Handle, WM_ONHINT, 0, 0); //wParam = 0 - Hide
end;

procedure THintWindow.ActivateHint(Rect: TRect; const AHint: string);
begin
  inherited;
  SendMessage(Application.MainForm.Handle, WM_ONHINT, 1, 0); //wParam = 1 - Show
end;

procedure TForm1.WMOnHint(var Msg: TMessage);
begin
  if Msg.WParam  = 0 then
    Caption:= 'Hide Hint'
  else
    Caption:= 'Show Hint';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  HintWindowClass:= THintWindow;
end;
0

Dzieki kAzek, ładnie i skutecznie. Działa perfekt

1 użytkowników online, w tym zalogowanych: 0, gości: 1