Einzelnen Beitrag anzeigen

ASM

Registriert seit: 16. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Text neben Cursor einblenden

  Alt 20. Mai 2011, 00:09
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;
Angehängte Dateien
Dateityp: zip FloatingHint.zip (180,4 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat