Bei der Eingabevalidierung verwende ich Sprechblasentipps anstelle von Nachrichtenfeldern. Mein Problem ist, dass sie auf Vista den alten XP-Stil mit den abgerundeten Ecken haben, nicht das neuere, mehr rechteckige Aussehen.
Ich habe versucht, sie mit CreateWindowEx und tooltips_class32
zu erstellen oder zeige die mit Balloontip verknüpfte Edit mit SendMessageW und EM_SHOWBALLOONTIP
, das Ergebnis ist das gleiche.
Wenn Sie in Visual Studio und C # dasselbe tun, erhalten Sie eine Sprechblase im Vista-Stil.
Sie können ein Beispiel für den Sprechblasenhinweis sehen, den ich brauche, wenn Sie die Caps-Lock-Funktion während einer Passwort-Änderung wie bei der Windows-Anmeldung aktivieren.
Wenn Sie Delphi 2009 verwenden, ist das Hinzufügen von Sprechblasen-Hinweisen ziemlich einfach, obwohl die Dokumentation schlecht ist. (Überraschung, Überraschung)
Dieses nächste Bit ist sehr naheliegend :
Du bist fertig. Dies sieht nicht 100% vista-like aus, vielleicht aufgrund der Schriftartwahl. Aber es ist ziemlich nah.
Delphi 2009 http://dn.codegear.com/article/images/38757/0300000D.png ,Wie im Delphi 2009-Überprüfungshandbuch zu lesen ist, verfügt jede VCL-Komponente jetzt über eine CustomHint-Eigenschaft. Es kann auf jeden Nachkommen von TCustomHint gesetzt werden.
Achten Sie darauf, Baloon-Hinweise in Vista zu aktivieren, sonst werden sie nicht angezeigt.
Der TCustomHint in Delphi 2009 verfügt über vier geschützte Überladungen von ShowHint, die bei Aufruf den TCustomHint bei Bedarf und an bestimmten Stellen platzieren können:
%Vor%Alles, was Sie tun müssen, ist, einen Hinweis im gewünschten Stil zu implementieren (oder einfach von TBalloonHint abzusteigen, wenn er nah genug ist) und diese Methoden öffentlich zu machen, damit Sie einen Hinweis überall und jederzeit platzieren können will.
Hinweis: Ändern Sie die Title-Eigenschaft von TCustomHint, um zu ändern, welcher Text angezeigt wird, es sei denn, Sie verwenden den ShowHint, der ein TControl als Argument verwendet. In diesem Fall wird es aus der Hint-Eigenschaft des Steuerelements abgerufen (und in der Title-Eigenschaft von TCustomHint platziert).