Autor Beitrag
AceTheFace
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Mi 11.12.02 14:55 
Hallo,

erstmal eine kleine Skizze: :D

LT | RT

Das Fenster besteht, also aus einem linken Teil (LT) und einem rechten Teil (RT). Beim start ist nur LT zu sehen. Drückt man dann auf einen Button soll RT zusätzlich angezeigt werden (im gleichen Fenster!). Drückt man auf einen Button in RT soll LT nicht mehr angezeigt werden (RT schon noch!).
Der erste Teil ist ja nicht so schwer, dass kann man ja einfach per form.width machen, dass man das Fenster halt so klein macht, dass man nur LT sieht und sobald man auf den Button drückt, das Fenster breiter wird und so RT zuätzlich sichtbar macht.
Aber leider schaffe ich es damit nicht, den zweiten Teil zu realisieren. Da gibt es doch bestimmt etwas in Delphi mit dem man das machen kann, oder?!

Gruss und danke,

Ace
Tante
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41



BeitragVerfasst: Mi 11.12.02 15:17 
Hallo!

Also ich würde folgendes machen:


Jeweils den LT und den RT auf ein Panel (kann ja ohne Rand sein, dann sieht man nichts vom Panel)

Und wenn man nur den RT sehen soll würde ich das Panel mit dem LT ausblenden, das RT-Panel nach links verschieben und dann eventuell wieder das Fenster verkleinern.

Wenn Du das mit dem Verschieben nicht so genau ausmessen willst, wohin es je geschoben wird, dann würde ich für das RT-Panel jeweils Align auf Rechts oder Links setzen, je nachdem wo Du es brauchst. Und das LT-Panel auf alClient :wink2:
AceTheFace Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Mi 11.12.02 15:45 
Ok, das wäre natürlich eine Möglichkeit (hätte man eigentlich auch selbst drauf kommen können :D ), aber ich hatte eigentlich gehofft, dass es da vielleicht ne elegantere Möglichkeit gibt.....

Na ja, vielleicht meldet sich ja noch jemand.

Trotzdem schonmal danke!

Gruss,

Ace
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mi 11.12.02 16:03 
Ich weiss zwar nicht genau was du auf der Form im RT haben willst, aber wenn du den RT mit form1.width "erscheinen" lässt, dann kannst du doch auch den LT mit form1.width und form1.left "verschwinden" lassen. Du musst dazu nur wissen, wie groß der RT ist und diese Zahl in form1.width eintragen. form1.left muss dann den X-Wert enthalten, an dem der RT beginnt.

So kann man das auf jeden Fall machen. Ich weiss aber ja nicht, was du noch auf dem LT bzw. RT hast und wie das dann mit den Komponenten aussieht. Versteh davon nicht so viel.

Hoffe aber dir dennoch geholfen zu haben.
AceTheFace Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Mi 11.12.02 16:11 
D0P3 F!$H hat folgendes geschrieben:
Ich weiss zwar nicht genau was du auf der Form im RT haben willst, aber wenn du den RT mit form1.width "erscheinen" lässt, dann kannst du doch auch den LT mit form1.width und form1.left "verschwinden" lassen. Du musst dazu nur wissen, wie groß der RT ist und diese Zahl in form1.width eintragen. form1.left muss dann den X-Wert enthalten, an dem der RT beginnt.

So kann man das auf jeden Fall machen. Ich weiss aber ja nicht, was du noch auf dem LT bzw. RT hast und wie das dann mit den Komponenten aussieht. Versteh davon nicht so viel.

Hoffe aber dir dennoch geholfen zu haben.


Tut mir leid, aber so geht das leider nicht, denn form1.width gibt ja nur an, bei welcher x-Koordinate das Fenster beginnen soll. Abschneiden kann ich dadurch leider nichts.

Gruss,

Ace
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mi 11.12.02 17:32 
Hab jetzt mal was ausprobiert:

Nimm 2 Panels, das Linke setzte auf alLeft, das rechte auf alClient

Dann machste mit Visible die Seiten sichtbar udn wenn halt zwei Panels da sind, brauchste die doppelte FensterBreite, bei einem stellstes auf die Hälfte ein. So funktioniert das recht einfach, brauchste nix verschieben und bei beiden Teilen passt sich das automatisch an das Fenster an.

Gruß
AceTheFace Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Mi 11.12.02 17:51 
UGrohne hat folgendes geschrieben:
Hab jetzt mal was ausprobiert:

Nimm 2 Panels, das Linke setzte auf alLeft, das rechte auf alClient

Dann machste mit Visible die Seiten sichtbar udn wenn halt zwei Panels da sind, brauchste die doppelte FensterBreite, bei einem stellstes auf die Hälfte ein. So funktioniert das recht einfach, brauchste nix verschieben und bei beiden Teilen passt sich das automatisch an das Fenster an.

Gruß


Danke, damit funktioniert das ganz prächtig :)

Gruss,

Ace