Es gibt eine recht nützliche
Unit (mcHintbox,
http://mastercluster.com/doc/467), mit deren Hilfe man das sehr gut erreichen kann.
Diese
Unit ist zwar leider nicht OpenSource, sondern kostet ca. 15 EUR, kann ich aber aus meiner Erfahrung mit ihr empfehlen.
Wie diese Hintbox für den genannten Zweck eingesetzt werden kann, hier an einem eigenen Beispiel (und compiliert als Anhang):
Delphi-Quellcode:
uses mcHintbox;
var
SwitchedOn: Boolean = false;
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
MousePt: TPoint;
begin
if (x <= 20) or (x >= panel1.Width - 20) or (y <= 20) or (y >= panel1.Height - 20) then
// Abstand vom Panelrand halten, um die Hintbox durch simulierten Mausklick
// rechtzeitig vor Verlassen des Panels auszuschalten
with panel1 do
begin
mouse_event(MOUSEEVENTF_LEFTDOWN, left, width, top, height);
mouse_event(MOUSEEVENTF_LEFTUP, left, width, top, height);
end
else
if SwitchedOn then
// Ein-/Ausschalten triggern, um Flackern der Hintbox bei der Bewegung zu vermeiden
begin
MousePt := ClientToScreen(Point(x, y));
HintBox(MousePt.x, MousePt.y, ' Yes, it is working', ' Helpfull Message');
end;
SwitchedOn := not SwitchedOn;
end;