Einzelnen Beitrag anzeigen

TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
252 Beiträge
 
Delphi 10.3 Rio
 
#1

Tabsheet Hintergrund unter win64

  Alt 24. Jul 2019, 12:09
Hallo

Ich habe eine Anwendung mit einer simplen pagecontrol und darauf ein paar Tabsheets.
In der Pagecontrol habe ich OwnerDraw auf TRUE gesetzt und zeichen / schreibe dann mit dem folgenden Code:

Code:
procedure TlcpOptionen.pcOptionsDrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
var hs: String;
    tp: TPoint;
begin
  //Wir malen oben..
  with pcOptions.Canvas do begin
    //Wir füllen
    brush.Color:= fHinten;
    font.Color:= fText;
    FillRect(Rect); //:-) des war nicht schwer...
    hs:= pcOptions.Pages[TabIndex].Caption; //Überschrift
    tp.X:= round( ( rect.Right - rect.Left - TextWidth(hs) ) * 0.5 + rect.Left);
    tp.Y:= round( ( rect.Bottom - rect.Top - TextHeight(hs) ) * 0.5 + rect.Top);
    TextOut(tp.X, tp.Y, hs); //Und Ausgeben
  end;
end;
pcOptions ist das PageControl.

Wenn ich das ganze als WIN32 Anwendung kompiliere, dann wird der Hintergrund vollflächig gefüllt. Kompiliere ich aber als WIN64, dann werden nur die Reiter gefüllt, der Rest nicht.
Irgendwelche Ideen?

Tomy
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de

Geändert von TomyN (24. Jul 2019 um 12:12 Uhr) Grund: Erläuterung zu pcOptions eingefügt
  Mit Zitat antworten Zitat