Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi 2010: PageControl und TabSheet, Labels (https://www.delphipraxis.net/159990-delphi-2010-pagecontrol-und-tabsheet-labels.html)

forum-flo 21. Apr 2011 20:12

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.

SearchBot 29. Apr 2012 22:45

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?

SimplySimon 29. Apr 2012 22:55

AW: Delphi 2010: PageControl und TabSheet, Labels
 
Vielleicht
Delphi-Quellcode:
ParentBackground := false
?

Steku 30. Apr 2012 14:36

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

Bummi 30. Apr 2012 17:36

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 00:11 Uhr.

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