Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sind das Frames? (https://www.delphipraxis.net/50954-sind-das-frames.html)

Pseudemys Nelsoni 3. Aug 2005 10:35


Sind das Frames?
 
Moin,

ich möchte gern ein Option-Fenster wie dieses machen:

http://www.pixelbytes.net/jo.gif

Nun weiss ich nicht....sind das Frames? Dynamisch erzeugte Controls? Wenn ersteres, wie funktioniert das genau? Muss ich da 20 Frames überlappen und immer bei 19 "visible" auf false setzen und 1 auf true? O_o

Würde umständlich sein...

Sharky 3. Aug 2005 10:37

Re: Sind das Frames?
 
Hai Pseudemys,

ich mache solche sachen in der Regel mit Forms. Es könnte in diesem Fall (was ich mir denke) aber auch ein TPageControl ohne TABS sein.

Robert Marquardt 3. Aug 2005 10:39

Re: Sind das Frames?
 
Wenn es ein Delphi-Programm ist, dann kann man sich einfach die Resourcen ansehen.
Dort stehen die .dfm Files alle lesbar drin.

Sidorion 3. Aug 2005 10:57

Re: Sind das Frames?
 
Sowas kannst du einfach mir 20 panels auf der Form nachbilden. Alle liegen übereinander. Wenn der Nutzer nun einen Eintrag im Treeview auswählt rufst du beim entsprechenden Panel Panelx.BringToFront auf, dann schnippst es ganz nach oben und wird sichtbar. Die anderen 19 panels bleiben sichtbar, liegen aber in der z-Reihenfolge dahinter.
Das einzige fitzelige bei der Sache ist die Bearbeitung im Formulardesigner, hier musst du dann alle Panels, die über dem liegen, das Du bearbeiten willst per Kontextmenü nch hinten schieben
ACHTUNG alle Panels müssen ale Parent die Form haben!

Pseudemys Nelsoni 3. Aug 2005 11:10

Re: Sind das Frames?
 
Danke für die Tipps :???:

@Robert: Ne, ist in C# geschrieben ;)

phlux 3. Aug 2005 11:50

Re: Sind das Frames?
 
wenn es darum geht config dialoge mit einem treeview zu erstellen verwende ich von der guten alten win3.1 karteikarte die TNotebook Komponente, erfüllt genau den zweck ;)

Khabarakh 3. Aug 2005 12:16

Re: Sind das Frames?
 
@Sidorion: Da nehme ich lieber die PageControl-Variante :wink: .

Sidorion 3. Aug 2005 12:30

Re: Sind das Frames?
 
@Phlux: die Win3.1 Karte ist durchgehende veraltet und sollte nichtmehr genutzt werden.. weiss garnicht, ob die bei 2005 überhaupt noch dabei ist.

Pseudemys Nelsoni 3. Aug 2005 12:33

Re: Sind das Frames?
 
wie geht das denn mit dem pagecontrol? ich bekomme die tabs nicht weg

Matze 3. Aug 2005 12:37

Re: Sind das Frames?
 
Per Rechtsklick auf's Pagecontrol und dann auf "neue Seite" die Tabs anlegen und jewels "TabVisible" auf "false" setzen (am besten zur Laufzeit, dann kannst du das zur Designtime leicht verwalten).

Sharky 3. Aug 2005 12:38

Re: Sind das Frames?
 
Zitat:

Zitat von Pseudemys Nelsoni
wie geht das denn mit dem pagecontrol? ich bekomme die tabs nicht weg

Jedes einzelne TabSheet hat die Eigenschaft Delphi-Referenz durchsuchenTabVisilbe dieses auf False aber das Visible des TabSheet wieder auf True(wird im OI nämlich automatisch auch False).

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  ndx : integer;
begin
  for ndx := 0 to pred(PageControl1.PageCount) do
  begin
    PageControl1.Pages[ndx].TabVisible := False;
    PageControl1.Pages[ndx].Visible := True;
  end;
end;
Nachtrag
Mit PageControl1.ActivePageIndex := X wählst Du im Code dann die Aktive Seite aus.

Pseudemys Nelsoni 3. Aug 2005 12:49

Re: Sind das Frames?
 
danke jungs :mrgreen:

geht

Robert_G 3. Aug 2005 13:04

Re: Sind das Frames?
 
Zitat:

Zitat von Pseudemys Nelsoni
@Robert: Ne, ist in C# geschrieben ;)

Was hindert dich daran das Ding mit Lutz Roeders Reflector zu zerlegen um dann höchstwahrscheinlich Usercontrols zu entdecken, die mit einzelnen Optionen verbunden sind? OK, wenn es durch einen Obfuscator gejagt wurde könnte dich das daran hindern... :mrgreen:
Usercontrols in .Net sind Frames in Delphi.
Es gibt da 2 Vortiele gegenüber PageControls mit 5.000 Controls darauf
  • man müllt sich sein Form nicht mit 5.000 Feldern zu
  • Um eine Seite zu ändern muss man sie nicht erst im PageControl rumsuchen, man muss nichtmal das Form dafür auf haben. :)

phlux 3. Aug 2005 13:16

Re: Sind das Frames?
 
Zitat:

Zitat von Sidorion
@Phlux: die Win3.1 Karte ist durchgehende veraltet und sollte nichtmehr genutzt werden.. weiss garnicht, ob die bei 2005 überhaupt noch dabei ist.

naja bis jetzt hatte ich keine negativen erlebnisse mit, zumindest find ich das doch professioneller als zig panels drüber zu klatschen ;)

Touchdown 3. Aug 2005 13:20

Re: Sind das Frames?
 
Ich nehme auch lieber TNotebook, TPagecontrol zeichnet immer einen Rand, selbst wenn die Tabs nicht aktiv sind. Dies bekommt man nich weg und es kann schon sehr stören!

Pseudemys Nelsoni 3. Aug 2005 14:50

Re: Sind das Frames?
 
Nochmal ne Frage bezüglich des PageControls... wie mach ich es denn, das dieses nicht sichtbar ist? PageControls haben ja diesen "Raised" style... beim Panel kann man den ja abstellen, aber wo geht das bei einem PageControl?

dizzy 3. Aug 2005 14:53

Re: Sind das Frames?
 
Zitat:

Zitat von Touchdown
Ich nehme auch lieber TNotebook, TPagecontrol zeichnet immer einen Rand, selbst wenn die Tabs nicht aktiv sind. Dies bekommt man nich weg und es kann schon sehr stören!

:roll:

Pseudemys Nelsoni 3. Aug 2005 15:07

Re: Sind das Frames?
 
Dort krieg ich den 3D-Effekt auch nicht weg.

Edit, aos hab schon, hatte die falsche Kompo drauf :D

s14 3. Aug 2005 15:14

Re: Sind das Frames?
 
Wenn die Reiter sowieso nicht sichtbar sein sollen, kann im PageControl die Eigenschaft "Style" auf "tsFlatButtons" gesetzt werden.

Und siehe da, der "lästige" Rand verschwindet :???:

Tyrael Y. 3. Aug 2005 15:54

Re: Sind das Frames?
 
Das könnten auch Frames sein...ich verstehe nciht wieso du nicht auch Frames benutzen möchtest...etwas ähnliches habe ich auhc in meinen Projekten udn benutze dafür grundsätzlich Frames.....

..was spricht gegen Frames? :gruebel:

dahead 3. Aug 2005 15:56

Re: Sind das Frames?
 
frames sind ja eher dafür gedacht, sie mehrfach zu verwenden.

ein pagecontrol fände ich auch geeigneter.

Tyrael Y. 3. Aug 2005 16:00

Re: Sind das Frames?
 
Das schöne an Frames ist, wenn man die Form ändert auf der das Frame liegt und dort noch andere Controls hinkommen sollen, dann braucht man dem Frame nur den neuen Parent zuzuweisen und fertig ist ....

..sonst könnte es schnell passieren, daß man doch noch bissel mehr umstellen muss...


Gruß

Robert_G 3. Aug 2005 16:14

Re: Sind das Frames?
 
Ich meinte eigentlich Frames in einem PageControl, ob du dieses in einen Frame packen solltest?... :gruebel:
btw: Wer muss auch gerade an zugemüllte Fensterklassen denken? *ulf* :?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:52 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