Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TabSheet ändern Hintergrund bei Parent-Wechsel
matze - Sa 23.10.10 23:43
Titel: TabSheet ändern Hintergrund bei Parent-Wechsel
Hallo,
Ich habe ein Problem mit einem TabSheet.
Folgende Ausgangssituation:
Ich habe ein Formular, auf welchem dynamisch Komponenten in einem PageControl also in Tabs angeordnet werden.
Nun muss ich leider einmal dieses PageControl per Zuweisung der Parent-Eigenschaft von "seinem" Formular auf das Hauptformular "verlegen":
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TfrmMain.CreateEmbeddedEditForm; begin fEditForm := TfrmObjectEdit.Create(pnlMain); fEditForm.pgcTabs.Parent := pnlMain; fEditForm.pgcTabs.Align := alClient; end; |
Dabei passiert aber etwas komisches: Normalerweise wird von WinXP in den Hintergrund eines TabSheets ein Verlauf gezeichnet. Wenn ich nun das PageControl mit dem obigen Code verlege, bekommt das PageControl aber einen grauen Hintergrund: (oben im Bild)
Das ist nur ein optischer Fehler, aber ich würde das gerne abstellen.
Kann mir jemand helfen?
Wie bekomme ich das TabSheet dazu, wieder normal auszusehen (wie unten im Bild)?
Danke,
Matze
jaenicke - Sa 23.10.10 23:51
Ich kann das nicht reproduzieren. :gruebel:
Weder mit XP noch mit Vista oder 7, egal ob ich das Formular dynamisch erzeuge oder nicht. Alles sieht bei mir korrekt aus. :nixweiss:
Mit welchem Delphi arbeitest du dabei? 2009? Das habe ich leider nicht da grad.
Kannst du vielleicht eine kleine Demo inkl. Exe anhängen?
matze - So 24.10.10 13:11
Oh Mann, ich steh echt auf dem Schlauch und finde den Bug nicht.
Man sieht das auch nur unter WinXP. Unter Vista funktionierts einwandfrei.
Ich habe einfach aus meinem Projekt alles möglich rausgelöscht was nicht relevant war.
Im Anhang gibts nun die Exe und das komplette Projekt.
Vielleicht kannst du ja mal drüberschauen.
jaenicke - So 24.10.10 13:20
Das liegt offenbar an deiner Delphiversion oder an madExcept (das habe ich auf dem virtuellen Testrechner mit TD und XP nicht drauf).
Denn wenn ich es ohne die madExcept Units mit Turbo Delphi kompiliere, tritt der Fehler nicht auf (mit deiner Exe aber schon).
Further investigation follows... ;-)
// EDIT:
Turbo Delphi, Delphi 2007, Delphi 2010, Delphi XE: der Fehler tritt nicht auf.
--> Ich tippe auf madExcept...
// EDIT2:
Nein, ich habe gerade madExcept installiert, der Fehler tritt bei Delphi 2007 zumindest nicht auf. :nixweiss:
matze - So 24.10.10 13:35
Hmmm... OK dann habe ich wohl nichts offensichtliches falsch gemacht.
Ich danke dir schonmal, dass du dir es weiter anschauen magst.
Wenn deine Untersuchungen nix ergeben ist das wie gesagt nicht schlimm, denn es ist ja nur ein kleines grafisches Problem.
matze - So 24.10.10 13:42
HALT. STOP.
Ich hab das Problem gelöst. Also nicht ich, sondern Andreas Hausladen mit seinem VCL Fix Pack.
Aber danke dir trotzdem!
Liebe Grüße
Matze
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!