AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PageControl durchsichtig?

Ein Thema von Microschlumpf · begonnen am 14. Feb 2006 · letzter Beitrag vom 15. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2      
Microschlumpf

Registriert seit: 11. Feb 2006
7 Beiträge
 
#1

PageControl durchsichtig?

  Alt 14. Feb 2006, 14:27
Hallo zusammen,

ich habe auf einer Form eine Hintergrundgrafik, ähnlich des grauen Backgrounds hier auf Delphi-Praxis. Um nun mehrere Controls thematisch trennen zu können, setze ich ein PageControl mit 5 TabSheets auf die Form. Die einzelnen Tabs der TabSheets sind ausgeblendet (TabVisible=False). Gibt es eine Möglichkeit die TabSheets für die Hintergrundgrafik durchsichtig zu machen?

Eine ähnliche Frage gab es hier schon öfters, es ging nur immer um den Bereich neben den Tabs. Mir geht es um den Bereich im TabSheet selber.

Falls es nicht so leicht machbar ist, könnte man es irgendwie mit Panels lösen?

Gruss
Microschlumpf
  Mit Zitat antworten Zitat
Sebastian R.

Registriert seit: 12. Feb 2006
94 Beiträge
 
#2

Re: PageControl durchsichtig?

  Alt 14. Feb 2006, 14:31
Vielleicht die Transparenz etwas hoch setzen?!
Sebastian R.
Keep on programming!


CyCode.net - Meine Programme, Tutorials und Quelltexte
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#3

Re: PageControl durchsichtig?

  Alt 14. Feb 2006, 14:44
dann wird ja die ganze form transparent.

am einfachsten wäre es, du würdest auf jedem tab ein image erstellen, das den selben hintergrund wie das formular hat (du kannst es ja dann auch entsprechend verkleinern (schneiden) um nicht unnötig ressourcen zu verbraten).
  Mit Zitat antworten Zitat
Microschlumpf

Registriert seit: 11. Feb 2006
7 Beiträge
 
#4

Re: PageControl durchsichtig?

  Alt 14. Feb 2006, 14:51
Hallo,

Zitat von dahead:
dann wird ja die ganze form transparent.

am einfachsten wäre es, du würdest auf jedem tab ein image erstellen, das den selben hintergrund wie das formular hat (du kannst es ja dann auch entsprechend verkleinern (schneiden) um nicht unnötig ressourcen zu verbraten).
hmmm, könnte man dann auch irgendwie den Teil der Grafik auf dem Formular, welcher hinter dem TabSheet liegt über Canvas in das TabSheet kopieren?

Microschlumpf
  Mit Zitat antworten Zitat
Sebastian R.

Registriert seit: 12. Feb 2006
94 Beiträge
 
#5

Re: PageControl durchsichtig?

  Alt 14. Feb 2006, 14:53
Ja, mach einfach ein Image auf die PageControl und setze Align := alClient; Dann kopierts du einfach aus dem Canvas des Hintergrund-Images den Teil raus. Wie es mit der Geschwindigkeit aussieht kann ich dir nicht sagen!
Sebastian R.
Keep on programming!


CyCode.net - Meine Programme, Tutorials und Quelltexte
  Mit Zitat antworten Zitat
Microschlumpf

Registriert seit: 11. Feb 2006
7 Beiträge
 
#6

Re: PageControl durchsichtig?

  Alt 14. Feb 2006, 22:12
Also ich bin gerade mal am Probieren. Es funktioniert echt gut, nur habe ich noch Probleme mit dem Rand vom PageControl, den sieht man leider und ich bekomme den irgendwie nicht weg.

Das ist der Code, den ich verwendet habe...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  SrcRect, DestRect: TRect;
begin
  Image2.Picture := nil;
  SrcRect.Left := PageControl1.Left;
  SrcRect.Top := PageControl1.Top;
  SrcRect.Right := PageControl1.Left+PageControl1.Width;
  SrcRect.Bottom := PageControl1.Top+PageControl1.Height;
  DestRect := Rect(0, 0, PageControl1.Width, PageControl1.Height);
  Image2.Canvas.CopyRect(DestRect, Image1.Canvas, SrcRect);
  PageControl1.ActivePage := TabSheet1;
  TabSheet1.Refresh;
end;
Image1 ist alClient auf dem Formular, Image2 alClient auf dem entsprechenden TabSheet. Die Position vom TabSheet wird berücksichtigt (Rand muss noch einberechnet werden, wenn man den nicht wegbekommt).
Ich habe tsFlatButtons gewählt.

Gruss
Microschlumpf
  Mit Zitat antworten Zitat
Sebastian R.

Registriert seit: 12. Feb 2006
94 Beiträge
 
#7

Re: PageControl durchsichtig?

  Alt 15. Feb 2006, 08:42
Setzt den Border des Controls mal auf bsNone!
Sebastian R.
Keep on programming!


CyCode.net - Meine Programme, Tutorials und Quelltexte
  Mit Zitat antworten Zitat
Microschlumpf

Registriert seit: 11. Feb 2006
7 Beiträge
 
#8

Re: PageControl durchsichtig?

  Alt 15. Feb 2006, 08:59
@ Sebastian

Gibt es denn da eine Bordereigenschaft, die ich auf bsNone setzen kann. Ich habe da nichts gefunden, weder beim PageControl, noch bei den zugehörigen TabSheets. Bei den TabSheets habe ich BorderWidth := 0 gesetzt.

Gruss
Microschlumpf
  Mit Zitat antworten Zitat
Sebastian R.

Registriert seit: 12. Feb 2006
94 Beiträge
 
#9

Re: PageControl durchsichtig?

  Alt 15. Feb 2006, 09:31
Zitat von Microschlumpf:
@ Sebastian

Gibt es denn da eine Bordereigenschaft, die ich auf bsNone setzen kann. Ich habe da nichts gefunden, weder beim PageControl, noch bei den zugehörigen TabSheets. Bei den TabSheets habe ich BorderWidth := 0 gesetzt.

Gruss
Microschlumpf
Müsste es eigentlich geben.
Sebastian R.
Keep on programming!


CyCode.net - Meine Programme, Tutorials und Quelltexte
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: PageControl durchsichtig?

  Alt 15. Feb 2006, 10:52
Zitat von Sebastian R.:
Setzt den Border des Controls mal auf bsNone!
Du meintest wohl

Style auf tsFlatButtons
Sven Harazim
--
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:40 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