Frage zu einem Flag bei "SplitterGadget"

Anfängerfragen zum Programmieren mit PureBasic.
pebo
Beiträge: 66
Registriert: 01.12.2006 21:08
Wohnort: 66450 Bexbach

Frage zu einem Flag bei "SplitterGadget"

Beitrag von pebo »

Hallo zusammen,

ich versuche mich gerade an einem SplitterGadget und habe Probleme mit einem Flag das ich bei diesem Befehl angeben kann. Es handelt sich um das Flag "#PB_Splitter_FirstFixed".
In der Hilfe steht zu diesem Flag: "Wenn das SplitterGadget in der Größe verändert wird, behält das erste Gadget seine Größe."
Anhand des SplitterGadgets-Beispiel aus der Hilfe, hätte ich jetzt angenommen, daß der 1. Button in seiner Grösse nicht verändert wird wenn ich den Splitter bewege. Aber egal ob ich das Flag benutze oder nicht, ich sehe keine Änderung wenn ich den Code ausführe.
Hier das Beispiel aus der Hilfe mit dem Flag:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 230, 195, "SplitterGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))

    #Button1  = 0
    #Button2  = 1
    #Splitter = 2

    ButtonGadget(#Button1,0, 0, 0, 0, "Button 1") ; es besteht keine Notwendigkeit, die Größe oder Position
    ButtonGadget(#Button2,0, 0, 0, 0, "Button 2") ; festzulegen, da sie automatisch in der Größe angepasst werden
    SplitterGadget(#Splitter, 5, 5, 220, 120, #Button1, #Button2, #PB_Splitter_Separator | #PB_Splitter_FirstFixed)

    TextGadget(3, 10, 135, 210, 55, "Obiger GUI-Abschnitt zeigt zwei sich - innerhalb des 220x120 SplitterGadget Bereichs - automatisch in der Größe anpassende Schalter.",#PB_Text_Center )

    Repeat
    Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
EndIf
Vielleicht verstehe ich ja den Sinn des Flags falsch, dann wäre es nett wenn mir jemand auf die Sprünge helfen würde :allright:

Hab vergessen zu erwähnen, daß ch das gleiche Problem auch mit dem Flag "#PB_Splitter_SecondFixed" habe :wink:

Gruss
Peter
Alle sagten "das geht nicht!" .... und dann kam einer der nichts davon wusste und machte es einfach.
Benutzeravatar
Ligatur
Beiträge: 196
Registriert: 09.07.2006 00:41

Re: Frage zu einem Flag bei "SplitterGadget"

Beitrag von Ligatur »

pebo hat geschrieben: [...]
In der Hilfe steht zu diesem Flag: "Wenn das SplitterGadget in der Größe verändert wird, behält das erste Gadget seine Größe."[...]
Hallo,
Die Antwort hast du dir eigendlich schon selbst gegeben, Wie soll ein Gadget fest bleiben wenn du den Splitter bewegst? Dann hätte das Splittergadget seine Funktion verloren. Das Flag beeinflusst nur das Verhalten wenn das gesamte Gadget die Größe ändert.
Grüße,
Ligatur
pebo
Beiträge: 66
Registriert: 01.12.2006 21:08
Wohnort: 66450 Bexbach

Re: Frage zu einem Flag bei "SplitterGadget"

Beitrag von pebo »

Hallo,
Die Antwort hast du dir eigendlich schon selbst gegeben, Wie soll ein Gadget fest bleiben wenn du den Splitter bewegst? Dann hätte das Splittergadget seine Funktion verloren. Das Flag beeinflusst nur das Verhalten wenn das gesamte Gadget die Größe ändert.
Grüße,
Ligatur
Hi Ligatur,
danke erstmal für deine Erklärung. Aber wenn ich ehrlich bin, hab ichs immer noch nicht kapiert :freak:
Wenn ich die Grösse des Splittergadget ändere .... bedeutet für mich (bezogen auf das Beispiel aus der Hilfe): ich mache das Fenster breiter und passe das Splittergadget dementsprechend an. Dann ändert sich doch sowieso nichts an den beiden Buttons, warum brauch ich dann noch dieses Flag?
Sorry, aber ich stehe glaub ich voll auf dem Schlauch :oops:

Gruss
Peter
Alle sagten "das geht nicht!" .... und dann kam einer der nichts davon wusste und machte es einfach.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Frage zu einem Flag bei "SplitterGadget"

Beitrag von Kiffi »

pebo hat geschrieben:Sorry, aber ich stehe glaub ich voll auf dem Schlauch :oops:
vielleicht zeigen Dir die beiden folgenden Beispiele den richtigen Weg ;-)

(Bei beiden Beispielen mal das Fenster vergrößern / verkleinern)

mit #PB_Splitter_FirstFixed

Code: Alles auswählen

Enumeration
  #Button1
  #Button2
  #Splitter
EndEnumeration

OpenWindow(0, 0, 0, 230, 195, "SplitterGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_SizeGadget)
CreateGadgetList(WindowID(0))

ButtonGadget(#Button1,0, 0, 0, 0, "Button 1")
ButtonGadget(#Button2,0, 0, 0, 0, "Button 2")
SplitterGadget(#Splitter, 0, 0, WindowWidth(0), WindowHeight(0), #Button1, #Button2, #PB_Splitter_Separator | #PB_Splitter_FirstFixed)

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_SizeWindow  : ResizeGadget(#Splitter, 0, 0, WindowWidth(0), WindowHeight(0))
    Case #PB_Event_CloseWindow : Break
  EndSelect
ForEver
ohne #PB_Splitter_FirstFixed

Code: Alles auswählen

Enumeration
  #Button1
  #Button2
  #Splitter
EndEnumeration

OpenWindow(0, 0, 0, 230, 195, "SplitterGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_SizeGadget)
CreateGadgetList(WindowID(0))

ButtonGadget(#Button1,0, 0, 0, 0, "Button 1")
ButtonGadget(#Button2,0, 0, 0, 0, "Button 2")
SplitterGadget(#Splitter, 0, 0, WindowWidth(0), WindowHeight(0), #Button1, #Button2, #PB_Splitter_Separator)

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_SizeWindow  : ResizeGadget(#Splitter, 0, 0, WindowWidth(0), WindowHeight(0))
    Case #PB_Event_CloseWindow : Break
  EndSelect
ForEver
Grüße ... Kiffi
a²+b²=mc²
pebo
Beiträge: 66
Registriert: 01.12.2006 21:08
Wohnort: 66450 Bexbach

Beitrag von pebo »

Hi Kiffi,
vielleicht zeigen Dir die beiden folgenden Beispiele den richtigen Weg
mit deinen Beispielen hast Du mich vom Schlauch heruntergeschubst :wink:
Vielen Dank, jetzt ist alles klar :allright:

Gruss
Peter
Alle sagten "das geht nicht!" .... und dann kam einer der nichts davon wusste und machte es einfach.
Antworten