Wie können Sie Tipps für den Vista-Stil in Delphi anzeigen?

8

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.

    
Attila Szasz 18.11.2008, 08:54
quelle

3 Antworten

16

Wenn Sie Delphi 2009 verwenden, ist das Hinzufügen von Sprechblasen-Hinweisen ziemlich einfach, obwohl die Dokumentation schlecht ist. (Überraschung, Überraschung)

  • Legen Sie einen TBalloonHint auf Ihrem Formular ab
  • Legen Sie eine TImageList ab, um bei Bedarf Symbole zu enthalten.
  • Verknüpfen Sie die TIMageList mit dem TBalloonHint
  • Legen Sie die CustomHint-Eigenschaft des Formulars auf TBalloonHint
  • fest
  • Stellen Sie sicher, dass ShowHint und ParentCustomHint für Ihre Steuerelemente auf true gesetzt sind.

Dieses nächste Bit ist sehr naheliegend :

  • Formatieren Sie die "Hint" -Eigenschaft Ihres Steuerelements als "Titel | Hinweis | ImageIndex"

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 ,

    
Roddy 18.11.2008 10:01
quelle
3

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.

    
Toon Krijthe 18.11.2008 09:03
quelle
2

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).

    
Jim McKeeth 18.11.2008 16:51
quelle

Tags und Links