hallo leute,
ich bin mir nicht sicher, was ich falsch gemacht habe. hab den ganzen code aus frustation weggelöscht.
ich möchte eigentlich auf einem fenster sowas haben:
----------------------------------------
toolbar
----------------------------------------
|.........| Mitte oben|................|
|.........|................| Rechts oben |
| Links |---------------| ------------- |
|.........|................| Rechts unten |
|.........|Mitte Unten|................|
|.........|................|................|
----------------------------------------
Statusbar
----------------------------------------
- Links, Mitte und Rechts sollen horizontal splittbar sein.
- Auch wenn der Fenster in der Größe verändert wird.
- Mitte und Rechts sollen auch vertikal splittbar sein.
- Auch wenn der Fenster in der Größe verändert wird.
- In Links wird ein ScrollAreaGadget liegen, das die
größe anpasst.
- Mitte oben aiuch ScrollArea.
- Mitte unten sowie rechts oben und unten jeweils ContainerGagdet.
kann mir jemand helfen?
in meinem code hatte ich ständig das problem, das beim resizen des Fensters, die besagten gaeiledgets die
größenanpassung nicht machten.
und der rechte teile verschob sich mit der mittleren splitter komplett.
mfg
kurt
splittergadget
Re: splittergadget
Bitte was?delikanli_19_82 hat geschrieben:gaeiledgets
Sorry, ich kann mit deinem "Ascii-Diagramm" nichts anfangen. Kannst du nicht wenigstens was halbwegs ordentliches mit Paint malen?
Die Gadgets musst du schon selber resizen.
Code: Alles auswählen
OpenWindow(0, 0, 0, 200, 200, "", #PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
ButtonGadget(0,0,0,200,200,"Button")
Repeat
event = WaitWindowEvent(20)
Select event
Case #PB_Event_SizeWindow
ResizeGadget(0, 0, 0, WindowWidth(0), WindowHeight(0))
EndSelect
Until event = #PB_Event_CloseWindow
-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
Re: splittergadget
hallo TomS,
als diagramm:
www.gonuldefterim.de/abbild.JPG
ja zum resizen der elemente muss ich eben wissen, wie die abmaße des linken, rechten, oben, unteren splittanteils für den betroffenen containergadget/scrollareagadgets aussehen, damit ich den korrekt resizen kann.
das es geresized werden muss, ist mir schon klar. ich weiß nur nicht, wie ich an die werte komme. welche befehle ich dazu verwenden muss. zum beispiel die sache mit dem gadgetwidth/gadgetheight bringt mir nichts, da es die gesamtabmaße der splittergadgets gibt. klar kann ich die auch auf die container anwenden, aber der ereignis, während der splitter geslidet wird, ist mir nicht bekannt.
mfg
kurt
als diagramm:
www.gonuldefterim.de/abbild.JPG
ja zum resizen der elemente muss ich eben wissen, wie die abmaße des linken, rechten, oben, unteren splittanteils für den betroffenen containergadget/scrollareagadgets aussehen, damit ich den korrekt resizen kann.
das es geresized werden muss, ist mir schon klar. ich weiß nur nicht, wie ich an die werte komme. welche befehle ich dazu verwenden muss. zum beispiel die sache mit dem gadgetwidth/gadgetheight bringt mir nichts, da es die gesamtabmaße der splittergadgets gibt. klar kann ich die auch auf die container anwenden, aber der ereignis, während der splitter geslidet wird, ist mir nicht bekannt.
mfg
kurt
Re: splittergadget
Du musst Dir einfach vergegenwärtigen, dass ein SplitterGadget
immer nur zwei Gadgets aufnehmen kann.
Also:
'Mitte oben' und 'Mitte unten' -> SplitterGadget1
'Rechts oben' und 'Rechts unten' -> SplitterGadget2
'SplitterGadget1' und 'SplitterGadget2' -> SplitterGadget3
'Links' und 'SplitterGadget3' -> SplitterGadget4
Und schon hast Du es
Grüße ... Kiffi
immer nur zwei Gadgets aufnehmen kann.
Also:
'Mitte oben' und 'Mitte unten' -> SplitterGadget1
'Rechts oben' und 'Rechts unten' -> SplitterGadget2
'SplitterGadget1' und 'SplitterGadget2' -> SplitterGadget3
'Links' und 'SplitterGadget3' -> SplitterGadget4
Und schon hast Du es

Grüße ... Kiffi
a²+b²=mc²
Re: splittergadget
Code: Alles auswählen
Enumeration
#Links
#MitteOben
#MitteUnten
#RechtsOben
#RechtsUnten
#Splitter_Links_Rest
#Splitter_Mitte_Rechts
#Splitter_Mitte
#Splitter_Rechts
EndEnumeration
OpenWindow(0, 0, 0, 800, 600, "SplitterGadget", #PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
ButtonGadget(#Links, 0, 0, 0, 0, "Links")
ButtonGadget(#MitteOben, 0, 0, 0, 0, "Mitte oben")
ButtonGadget(#MitteUnten, 0, 0, 0, 0, "Mitte unten")
ButtonGadget(#RechtsOben, 0, 0, 0, 0, "Rechts oben")
ButtonGadget(#RechtsUnten, 0, 0, 0, 0, "Rechts unten")
SplitterGadget(#Splitter_Mitte, 0, 0, 0, 0, #MitteOben, #MitteUnten)
SplitterGadget(#Splitter_Rechts, 0, 0, 0, 0, #RechtsOben, #RechtsUnten)
SplitterGadget(#Splitter_Mitte_Rechts, 0, 0, 0, 0, #Splitter_Mitte, #Splitter_Rechts, #PB_Splitter_Vertical)
SplitterGadget(#Splitter_Links_Rest, 0, 0, WindowWidth(0), WindowHeight(0), #Links, #Splitter_Mitte_Rechts ,#PB_Splitter_Vertical)
Repeat
event = WaitWindowEvent(20)
Select event
Case #PB_Event_SizeWindow
ResizeGadget(#Splitter_Links_Rest, 0, 0, WindowWidth(0), WindowHeight(0))
EndSelect
Until event = #PB_Event_CloseWindow
Du musst nicht einmal selber etwas resizen, außer das äußerste Splittergadget (im Code letzte, da die verwendeten Gadgets, ja schon existieren müssen) an's Fenster anzupassen.delikanli_19_82 hat geschrieben:ja zum resizen der elemente muss ich eben wissen, wie die abmaße des linken, rechten, oben, unteren splittanteils für den betroffenen containergadget/scrollareagadgets aussehen, damit ich den korrekt resizen kann.
Wenn in einem Bereich mehr als ein Gadget sein soll, dann nimmst du ein Containergadget und passt die darin befindlichen Gadgets an. Die größe bekommst du ja mit GadgetWidth(#Container) und GadgetHeight(#Container).
Oder eben ein ScrollAreaGadget.
EDIT: Toolbar und Statusbar hab ich weggelassen, aber das kriegst du sicher selber hin.
Beim resizen des "Haupt"-Splittergadgets darauf achten, die Höhe der Toolbar und der Statusbar von WindowHeight() abzuziehen.
-
- Beiträge: 173
- Registriert: 30.11.2010 02:34
Re: splittergadget
vielen dank TomS