![]() |
Delphi 2010: PageControl und TabSheet, Labels
Hallo
Ich hatte unter Delphi7 ein Projekt, das ich jetzt nach Delphi 2010 portieren will. Ich habe XPManifest dem Form hinzugefügt. Bisher hatten die TabSheets die gleiche Farbe wie der Formhintergrund. Jetzt sind sie häßlich weiß unter Windows 7. Wenn ich für PageControl.Style tsButtons einstelle, sind die Sheets wieder transparent. Aber ich will tsTabs nutzen. Kann ich das irgendwie umstellen, so daß wieder die Hintergrundfarbe genutzt wird oder ich eine andere Farbe einstellen kann? Weiterhin wurde für alle Labels .Transparent=true beim Import eingestellt, obwohl ursprünglich false. Wie mache ich das rückgängig oder verhindere es beim Import? Danke. |
AW: Delphi 2010: PageControl und TabSheet, Labels
Hallo, ich habe gerade das gleiche Problem mit den weißen Tabsheets - hast du es lösen können?
|
AW: Delphi 2010: PageControl und TabSheet, Labels
Vielleicht
Delphi-Quellcode:
?
ParentBackground := false
|
AW: Delphi 2010: PageControl und TabSheet, Labels
Ja, mit dem PageControl und der Farbe hab' ich glaube ich
auch schon viel gefummelt... Schau' dir doch mal bei den LMD Freeware Komponenten (LMD-Tools SE 2012) das dortige PageControl an. Im OI kannst du glaube ich das globale Theming für die Komponente abstellen, dann klappt das mit der Farbe und den Tabs. Ist vielleicht einen Versuch wert... Gruß Steku |
AW: Delphi 2010: PageControl und TabSheet, Labels
vielleicht kannst Du damit was anfangen
Delphi-Quellcode:
type TTabsheet=Class(ComCtrls.TTabsheet) procedure WMPaint(var Message: TWMPaint); message WM_PAINT; End; TForm4 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form4: TForm4; implementation uses uxTheme; {$R *.dfm} procedure TForm4.Button1Click(Sender: TObject); var i:Integer; begin SetWindowTheme(PageControl1.Handle,'',''); end; { TTabsheet } procedure TTabsheet.WMPaint(var Message: TWMPaint); var DC:HDC; f:Tform; begin if Owner is Tform then begin DC := GetWindowDC(Handle); Windows.FillRect(DC, ClientRect,TForm(Owner).Canvas.Brush.Handle); ReleaseDC(handle,DC); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:18 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