Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Devexpress Skin für eine Form abschalten (https://www.delphipraxis.net/176977-devexpress-skin-fuer-eine-form-abschalten.html)

VCLControls 8. Okt 2013 12:50

Devexpress Skin für eine Form abschalten
 
Ich habe ein Hauptformular, welches über dxSkinController mit einem Office-Style versehen ist.
Das Formular erzeugt ein neues Formular und zeigt dieses an. Nun bekommt dieses neue Formular natürlich den Skin des Hauptformulars. Soweit gut.
Nun muss ich die Hintergrundfarbe des neu erzeugten Formulars auf Rot setzen. Dazu könnte ich den Style solange deaktivieren:
Delphi-Quellcode:
dxSkinController1.NativeStyle := True;
Leider ändert das natürlich auch den Skin des Hauptformulars. Dem neuen Formular einen eigenen SkinController zu spendieren und diesen dann zu ändern hat den gleichen Effekt.

In der Doku von Devexpress habe ich schon rumgeschnüffelt, weiß aber nicht so genau nach was ich suchen soll.
Kann man den Skin für nur ein Formular abschalten?

Morphie 8. Okt 2013 13:21

AW: Devexpress Skin für eine Form abschalten
 
Ich habe gerade keine DevExpress-Controls in meinem Delphi, aber hilft dir vielleicht der TcxLookAndFeelController weiter? Kannst du dort einen anderen Skin einstellen? (bzw. nativeStyle = true stellen)

VCLControls 8. Okt 2013 13:24

AW: Devexpress Skin für eine Form abschalten
 
Argg..
Da sucht man stundenlang bis man die Frage hier stellt und findet es dann via Zufall.
Delphi-Quellcode:
procedure TForm.dxSkinController1SkinForm(Sender: TObject;
  AForm: TCustomForm; var ASkinName: String; var UseSkin: Boolean);
begin
  UseSkin:= False
end;
Der Code liegt natürlich in der Form die nicht geskinnt werden soll.

@Morphie
Das LookandFeel hatte ich schon. Das half nicht weiter.

Union 8. Okt 2013 13:43

AW: Devexpress Skin für eine Form abschalten
 
Wenn Du die restlichen Skik-Einstellungen beibehalten willst, musst Du einen eigenen LookAndFeelPainter ableiten/erzeugen und registrieren. Dort änderst Du dann die gewünschten Elemente.

Beispiel:
Delphi-Quellcode:
cxLookAndFeelPaintersManager.Register(TcxLfp.Create);
SkinName := 'BlaStyle';
In dem Painter musst Du den Skinnamen setzen und die zu ändernden Eigenschaften überschreiben.
Delphi-Quellcode:
function TcxLfp.LookAndFeelName: string;
begin
   result := 'BlaStyle';
end;

function TcxLfp.DefaultContentColor: TColor;
begin
   result := clFerrariRed;
end;

VCLControls 8. Okt 2013 13:48

AW: Devexpress Skin für eine Form abschalten
 
Das werde ich bestimmt mal gebrauchen können.
Danke dafür.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz