AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls TPageControl mit transparentem Bereich hinter dem letzten Tab
Thema durchsuchen
Ansicht
Themen-Optionen

TPageControl mit transparentem Bereich hinter dem letzten Tab

Ein Thema von hoika · begonnen am 22. Nov 2011 · letzter Beitrag vom 22. Nov 2011
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#1

TPageControl mit transparentem Bereich hinter dem letzten Tab

  Alt 22. Nov 2011, 14:49
Hallo #,

komplizierter ging es nicht
Was ich eigentlich will der Bereich hinter dem letzten Tab soll nicht gemalt werden,
sondern transparent sein.
TMS kann das schon mal nicht (oder ich habe es nicht gefunden).

Weiss jemand, wie ich das hinbekomme ?

Danke


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#2

AW: TPageControl mit transparentem Bereich hinter dem letzten Tab

  Alt 22. Nov 2011, 15:04
Was ich eigentlich will der Bereich hinter dem letzten Tab soll nicht gemalt werden, sondern transparent sein.
Ich könnte mir vorstellen, dass die rkSmartTabs das können. Hab's aber nicht ausprobiert.

Edit: rkAeroTabs gibt's dort auch noch
Uli Gerhardt

Geändert von uligerhardt (22. Nov 2011 um 15:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: TPageControl mit transparentem Bereich hinter dem letzten Tab

  Alt 22. Nov 2011, 15:06
mit einem normalen Pagecontrol ....
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
 PCResize(PC);
end;

procedure TForm2.PCResize(Sender: TObject);
var
 SumTabWidth:Integer;
 i,th:Integer;
 rg1,rg2:THandle;
begin
 SumTabWidth := 0;
 th := PC.Tabrect(0).Bottom - PC.Tabrect(0).Top;
 for i := 0 to PC.Pagecount - 1 do
  if PC.Pages[i].TabVisible then SumTabWidth := SumTabWidth + PC.Tabrect(i).Right - PC.Tabrect(i).left + 2;
 rg1 := CreateRectRgn(0, 0, PC.Width, PC.Height);
 rg2 := CreateRectRgn(SumTabWidth,0,PC.Width,th);
 CombineRgn(rg1, rg1, rg2, RGN_XOR);
 SetWindowRgn(PC.Handle,rg1,true);
 DeleteObject(rg1);
 DeleteObject(rg2);
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (22. Nov 2011 um 15:17 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:30 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