Verwenden von IDE-Stilen in Plugins von Fremdherstellern

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Erweitern der IDE mit der Tools-API


Die IDE verwendet VCL-Stile für ihr Look and Feel. Plugins von Fremdherstellern bieten Fenster wie z. B. andockbare Fenster und Dialogfelder, die dem IDE-Stil entsprechen sollten. Einige spezifische Steuerelemente, wie z. B. TGroupBox, folgen nicht nur dem Design, sondern verfügen auch über Stil-Hooks, die sicherstellen, dass sie mit einem anderen Erscheinungsbild als üblich gerendert werden, und für Ihre Fenster sollten Sie das ebenfalls vorsehen.

Allgemeine Informationen

Die IDE bietet die API IOTAIDEThemingServices, mit der Sie überprüfen können, ob Designs aktiviert sind.

Ermitteln Sie die Namen der IDE- und Editor-Designs, wenden Sie das IDE-Design auf Ihr Formular oder Ihre Steuerelemente an, und registrieren Sie Ihr Formular für Stil-Hooks, um eine spezielles IDE-Verhalten zu erreichen.

Dieses Interface ermöglicht Ihnen auch den Zugriff auf die IDE-StyleServices. Die IDE verwaltet ihr StyleServices-Objekt, das den IDE-Stil repräsentiert.

Greifen Sie auf diese Interface mit BorlandIDEServices zu:

var 
ThemingServices : IOTAIDEThemingServices;

if Supports (BorlandIDEServices, IOTAIDEThemingServices, ThemingServices) then...

Registrieren Ihres Formulars für das Look and Feel der IDE

Aktivieren Sie das "Look and Feel"-Feature der IDE in Ihren Plugin-Formularen, indem Sie mit IOTAIDEThemingServices.RegisterFormClass die Klasse Ihres Formulars angeben.

Hinweis: Es ist wichtig, das Formular jedes Mal zu registrieren, wenn das IDE-Theme geändert wird.

Sobald Sie dies getan haben, wird die TGroupBox ohne Rahmen, aber mit einer größeren Titelschrift und einer einzelnen Zeile am oberen Rand gezeichnet, genau wie die Gruppenfelder im Dialogfeld "Optionen".

Rufen Sie für jede Instanz Ihres Formulars IOTAIDEThemingServices.ApplyTheme auf. Dadurch wird der IDE-Stil auf Ihr Formular angewendet. Gehen Sie genauso vor, wenn sich der IDE-Stil ändert, um Ihr Formular und die Steuerelemente entsprechend zu aktualisieren. Informationen zum Erkennen von Änderungen des IDE-Stils finden Sie weiter unten.

Erkennen von Stiländerungen

Registrieren Sie einen Notifier, um zu erkennen, wenn sich das IDE- oder Editor-Design ändert.

  • Verwenden Sie für das allgemeine IDE-Design IOTAIDEThemingServices.AddNotifier.
  • Verwenden Sie für Änderungen des Editor-Farbschemas IOTAIDEThemingServices.AddEditorColorNotifier.

Beide Notifier-Interfaces verfügen über zwei Methoden, die aufgerufen werden, eine Changing-Variante (z. B. IOTAEditorColorSpeedSetting.EditorColorChanging), die vor der Designänderung aufgerufen wird, und eine Changed-Variante (z. B. INTAIDEThemingServicesNotifier.ChangedTheme), die nach der Designänderung aufgerufen wird.

Normalerweise registrieren Sie nur einen Notifier für die Änderung des allgemeinen IDE-Designs, es sei denn, Sie müssen über die Farbeinstellungen des Editors informiert werden.

Rufen Sie in Ihrer Implementierung der Methode INTAIDEThemingServicesNotifier.ChangedTheme die Methode IOTAIDEThemingServices.ApplyTheme für Ihr Formular auf. Diese Methode aktualisiert das Formular und die Steuerelemente mit dem neuen Stil. Sie aktualisiert zudem alle benutzerdefinierten Farben oder vom Formular verwendete, benutzerdefinierte Zeichnungen mit den neuen Farben.

Styleguide

Die IDE verwendet für viele Dialogfelder ein gemeinsames Look and Feel: Am unteren Rand des Formulars befindet sich ein getöntes Feld, das die Schaltflächen OK, Abbrechen und andere enthält, während der Rest des Formulars in der Fensterfarbe gehalten ist.

Dies lässt sich am besten durch zwei Bereiche implementieren, von denen einer am unteren Rand ausgerichtet ist und die Schaltflächen enthält, und der andere am Client ausgerichtet ist und den restlichen Inhalt des Dialogfelds enthält. Wenden Sie für jeden Bereich Folgendes an:

  1. Legen Sie ParentBackground auf false fest.
  2. Entfernen Sie seClient aus StyleElements.
  3. Legen Sie "Color" auf clWindow für den Inhaltsbereich und auf clBtnFace für den Schaltflächenbereich fest. Falls erforderlich, können Sie den Designwert für jede Systemfarbe über IOTAIDEThemingServices.StyleServices.GetSystemColor abrufen.

Bei einer Skalierung von 100 % ist eine typische Schaltfläche 49 Pixel hoch. Schaltflächen sind 20 Pixel von rechts eingezogen, standardmäßig 75x25 groß und werden mit der auf 12 festgelegten Eigenschaft Top platziert. Dies ergibt einen Rand von 12 Pixel unterhalb der Schaltfläche.

In einer TGroupBox sollte die Eigenschaft Top des höchsten Steuerelements auf mindestens 26 Pixel festgelegt werden. Dies schafft Platz für größere Beschriftungen.

Die IDE zeigt Beziehungen zwischen Steuerelementen und Daten durch Einrückung an.

Eine Einstellung oder ein Steuerelement, das von einem anderen Steuerelement abhängt (z. B. das Verhalten einer Einstellung ändert oder nur aktiviert wird, wenn eine Einstellung auf einen bestimmten Wert gesetzt wird), wird mit einem Einzug von 16 Pixel unterhalb dieser Einstellung platziert. Dieser Einzug ermöglicht es, dass der Inhalt mit dem Beginn der RadioButton- oder CheckBox-Beschriftung ausgerichtet wird. Wenn er unter einem anderen Steuerelement wie z. B. einer TComboBox liegt, ist er mit anderen Einzügen konsistent.

Das IDE-Layout basiert auf einem 4x4-Pixel-Raster. Die Höhe fast aller UI-Elemente ist ein Vielfaches von 4 Pixel. Zum Beispiel beträgt die Höhe einer Baum- oder Listenansicht 20 Pixel.

Siehe auch