2016-04-28 8 views
2

Ich habe 3 Stylebooks auf meiner MainForm, dass ein Benutzer auswählen können. Sobald es eingestellt ist, stelle ich auch das gleiche StyleBook für meine anderen Formulare ein. Die meisten Stylebook-Styles werden richtig eingestellt, aber ich habe 1 Werkzeugleiste, die nicht die richtige Farbe erhält und scheinbar die anfängliche Farbe bleibt.Delphi 10 Seattle Stylebook wird nicht richtig in anderen Formularen dann Main

Ich habe schon 2 Möglichkeiten ausprobiert, um das Stylebook zu setzen.

Methode 1:

Von den anderen Formen, die sie selbst mit:

Self.StyleBook := TForm(Application.MainForm).StyleBook; 

Methode 2:

Auf die anderen Formen in meiner Mainform zu schaffen.

Form2 := TForm2.Create(nil); 
Form2.StyleBook := Self.StyleBook; 
Form2.Show; 

Beide Methoden ergaben das gleiche Ergebnis. Die einzige Möglichkeit, dies zu lösen, ist, die StyleBooks im Designer auch für die anderen Formulare hinzuzufügen. Aber ich tue das lieber nicht.

Hat jemand eine Lösung dafür?

UPDATE: Ich bemerkte auch, dass die Stilfarbe eingestellt wird, nachdem ich meinen Bildschirm gedreht habe.

Antwort

0

Ich habe eine Lösung für mein Problem gefunden.

Für die Komponenten, die nicht den richtigen Stil erhalten, setze ich ihre styleLookup erneut in Laufzeit im FormActivate-Ereignis.

Ich weiß nicht warum, aber das hat meine Stilprobleme gelöst. Und es muss in FormActivate festgelegt werden. Ich habe auch versucht, es in FormCreate zu setzen, aber das hat nicht funktioniert!