Seite 1 von 1

CheckBoxGadget mit mehrzeiligem Text

Verfasst: 15.05.2009 12:03
von Lord
Nur so, als kleine Kuriosität am Rande:
Bei der Suche nach der Möglichkeit neben einem CheckBoxGadget einen mehrzeiligen Text zu plazieren ist mir eine Merkwürdigkeit aufgefallen:

Code: Alles auswählen

OpenWindow(1,10,10,100,100,"Hmmm...")

CheckBoxGadget(1, 10,10,80,20,"OK")
CheckBoxGadget(2, 10,30,80,20,"Hmm...",#ES_MULTILINE)

Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
Durch das (nicht zulässige) Flag #ES_MULTILINE (= $000004) wird aus einem CheckBoxGadget ein Frame3DGadget. :shock:

Ach ja, die Lösung für mein Problem war:

Code: Alles auswählen

OpenWindow(1,10,10,100,100,"Hmmm...")
CheckBoxGadget(1, 10,10,80,20,"OK")
CheckBoxGadget(2, 10,30,80,20,"Hmm...",#ES_MULTILINE)
CheckBoxGadget(3, 10,50,80,40,"Hmm..."+Chr(13)+"OK")
SetWindowLong_(GadgetID(3),#GWL_STYLE,GetWindowLong_(GadgetID(3),#GWL_STYLE) | #BS_MULTILINE) 
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow

Verfasst: 15.05.2009 14:11
von Fluid Byte
Das ist keine Kuriosität. Du hast nur zufällig eine Konstante übergeben die den gleichen Wert wie ein Button style hat.

Code: Alles auswählen

#ES_MULTILINE = #BS_GROUPBOX
Dazu solltest du auch noch wissen das Frame3D-, CheckBox- und OptionGadget alle auf einem Standard Button-Control basieren.

Code: Alles auswählen

#BS_GROUPBOX = Frame3DGadget
#BS_CHECKBOX = CheckBoxGadget
#BS_RADIOBUTTON = OptionGadget

Verfasst: 15.05.2009 18:33
von Lord
Fluid Byte, danke für die Erläuterung.
Hatte mich halt nur darüber gewundert.

Verfasst: 15.05.2009 20:51
von Andesdaf
> Dazu solltest du auch noch wissen das Frame3D-, CheckBox- und OptionGadget alle auf einem Standard Button-Control basieren.
Aha, CheckBox- und OptionGadget konnte ich mir vorstellen, aber das auch
das Frame3dGadget dazugehört, wusste ich auch noch nicht.