Posts Tagged ‘komponente’

Komponentenentwicklung: Nutzung vom VCL Style

Donnerstag, Januar 19th, 2012

Heute ist es wieder einmal an der Zeit, einen kurzen technischen Artikel über Delphi zu schreiben. Und zwar geht es im Speziellen darum, wie man einzelne Elemente, die im VCL-Style definiert wurden, in eigenen Komponenten benutzen kann.

Ich nutze ganz gerne einfache Zeichenflächen um meine eigenen Komponenten zu entwickeln, da ich dort gestalterisch alle Freiheiten besitze. Um ein einheitliches Design zu gewährleisten, sollten hierbei aber trotzdem die VCL Style Elemente verwendet werden.

Um beispielsweise einen Knopf auf ein Bitmap zu zeichnen, kann man folgende Anweisungen benutzen:

if StyleServices.Available then begin
 //Auswahl des Styleelements
 case aMode of
  tpDown   : Details := StyleServices.GetElementDetails(ttbButtonPressed);
  tpUp     : Details := StyleServices.GetElementDetails(ttbButtonHot);
 end;
 //Zeichnen des Styleelements
 StyleServices.DrawElement(FBitmap.Canvas.Handle, Details, aButtonRect);
end else begin
 ... //Alternative Zeichenmethode, falls kein Style aktiv ist
end;

Mit der Variablen aMode wird festgelegt, ob der Button im gedrückten oder ungedrückten Zustand gezeichnet werden soll und aButtonRect definiert den Bildbereich über den sich der Button erstrecken soll.