![]() |
Pagecontrol Transparent machen
Hi,
sitze nun ne weile dran, aber ich habe noch nichts darüber gefunden wie ich PageControl Transparent machen kann, damit ich nicht auf jeder seite einen Hintergrund einfügen muss!! Weiss einer rat? Frohe Ostern Danke im Vorraus Gruss Olli |
Re: Pagecontrol Transparent machen
Hi,
hab eben mal geguckt und vllt was gefunden ![]() |
Re: Pagecontrol Transparent machen
Hi,
ist leider nicht dass was ich suche habe bisher auch immernoch kiene lösung gefunden, wie ich die einzelnen seite des PageControls Transparent machen kann, gibt es da überhaupt eine möglichkeit? mfg olli |
Re: Pagecontrol Transparent machen
Hallo
Muss es wirklich transparent sein oder möchtest du einfach auf jeder Seite den gleichen Hintergrund? |
Re: Pagecontrol Transparent machen
Da TTabsheet von TWincontrol abgeleitet ist, wird keine "echte" Transparenz möglich sein, fürchte ich.
|
Re: Pagecontrol Transparent machen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe jetzt mal ein bischen mit Canvas gespielt.
Im Anhang findet ihr die exe dazu, nur das Problem ist wie ich schon in einem anderen Beitrag gelesen habe bleibt immer noch ein kleiner Rand über, erst zu sehen wenn man die Form minimiert und widerherstellt, das gleiche ist auch beim Farbverlauf zu sehen!!! hat jmd. einen tip dazu? gruss olli |
Re: Pagecontrol Transparent machen
ganz einfach! beim wiederherstellen einfach deine Methode zum Hintergrund-Anpassen nochmal ausführen, also IMHO im Resize- bzw. Paint-Event
|
Re: Pagecontrol Transparent machen
Zitat:
Zitat:
hier mal der quelltext
Code:
gruss olli
procedure TForm1.Button1Click(Sender: TObject);
var SrcRect, DestRect: TRect; begin Image2.Picture := nil; SrcRect.Left := PageControl1.Left; SrcRect.Top := PageControl1.Top+2; SrcRect.Right := PageControl1.Left+PageControl1.Width; SrcRect.Bottom := PageControl1.Top+PageControl1.Height+1; DestRect := Rect(0, 0, PageControl1.Width, PageControl1.Height); pagecontrol1.Canvas.CopyRect(DestRect, Image1.Canvas, SrcRect); image2.Canvas.CopyRect(DestRect, Image1.Canvas, SrcRect); PageControl1.ActivePage := TabSheet1; TabSheet1.Refresh; end; |
Re: Pagecontrol Transparent machen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Bei mir gibt's keinen Rand. Siehe Beispiel im Anhang. |
Re: Pagecontrol Transparent machen
Zitat:
gruss olli |
Re: Pagecontrol Transparent machen
Zitat:
|
Re: Pagecontrol Transparent machen
Zitat:
gruss olli |
Re: Pagecontrol Transparent machen
Zitat:
In der Interface Section schreibst du:
Delphi-Quellcode:
in der implementation Section:
type
TPageControl = class(ComCtrls.TPageControl) protected procedure WndProc(var Message: TMessage); override; end;
Delphi-Quellcode:
procedure TPageControl.WndProc(var Message: TMessage);
begin if (Message.Msg = TCM_ADJUSTRECT) then begin inherited WndProc(Message); PRect(Message.LParam)^.Left := 0; PRect(Message.LParam)^.Right := ClientWidth; PRect(Message.LParam)^.Top := -2; PRect(Message.LParam)^.Bottom := ClientHeight; end else inherited WndProc(Message); end; |
Re: Pagecontrol Transparent machen
ja das habe ich auch gemacht dann in der Button Prozedure dies mit rein geschrieben:
Code:
aber bekomme ein fehler: ...Integer(@TabWndProc))); will er haben bzw. kennt es nicht
with PageControl1 do
for i := 0 to PageCount - 1 do begin SetWindowLong(Pages[i].handle, GWL_USERDATA, SetWindowLong(Pages[i].handle, GWL_WNDPROC, Integer(@TabWndProc))); end; gruss olli |
Re: Pagecontrol Transparent machen
Zitat:
|
Re: Pagecontrol Transparent machen
Zitat:
aber wie rufe ich dann die procedure auf? |
Re: Pagecontrol Transparent machen
Du musst nichts aufrufen. Nur das machen was ich oben geschrieben habe.
|
Re: Pagecontrol Transparent machen
ok jetzt klappt es musste etwas korrigieren habe vergessen das es nicht die vcl von delphi ist sondern von jedi!
aber warum klappt es nicht wenn ich eine Gradient VCL benutze, wiesomeckert delhi rum das er kein canvas bei der vcl kennt? es ist die TSRGradient Version 1.32 von Simon Reinhardt, habe mir auch mal den Quelltext angeguckt! ihr die zip datei mit der komponente ![]() über eine kleine hilfestellung würd ich mich freuen gruss olli |
Re: Pagecontrol Transparent machen
Zitat:
|
Re: Pagecontrol Transparent machen
Zitat:
Habe jetzt erstmal ein Bild mit mit dem Farbverlauf, aber man soll den nach seinen wünschen ändern können deshalb ist ein Bild nicht so das richtige!!! gruss olli |
Re: Pagecontrol Transparent machen
Zitat:
Könntest du evtl ein Test Projekt hochladen und die Problematik beschreiben? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 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