Das Problem ist der aufpoppende Hint, der, warum auch immer, das Hauptfenster wieder in den Vordergrund holt, ohne dem Hauptfenster den Fokus zu geben.
Ein nicht sehr eleganter Work-around könnte so aussehen:
Delphi-Quellcode:
procedure TForm1.Label1Click(Sender: TObject);
begin
SetCursorPos(Left+Label1.Left-1,Top+Label1.Top+Height-Clientheight);
Form2.Visible:=true;
Form2.BringToFront;
end;
Die Maus wird soweit verschoben, dass kein Hint mehr kommt. Wenn der Nutzer aber die Maus zurück bewegt, passiert es wieder.
Eleganter wäre es, den Hint auszuschalten, wenn Form1 den Fokus verliert, und wieder einzuschalten, wenn es den Fokus wieder erlangt. Mein Problem ist, dass ich auf meinem Form1 sehr viele Objekte mit aktivierten Hints habe, und auch viele ohne.
Gibt es eine effiziente Methode, alle Hints einer Form global zu deaktivieren bzw. zu reaktivieren?