
Dieser kurze übersichtliche Code gefällt mir super!!
Danke an alle!
ThanX für's Lob.edel hat geschrieben:@PureLust
Schoenes Beispiel aber deine Enumeration ist Mist.
Um Speicher zu sparen. PB reserviert Speicher für alle Gadgets ab 0PureLust hat geschrieben: Wenn man eh mit Konstanten arbeitet, welchen sinnlichen Nährwert hat es denn dann noch, für jede Gruppe (Windows, Menüs, Gadgets, ...) eine eigenen Enumeration zu beginnen?
Code: Alles auswählen
Enumeration
#window
#Menu
#tile
#Splitter
#edit1
#edit2
#edit3
#Frame
#Button1
#Button2
#ButtonBoth
#TestButton
EndEnumeration
framebreite = 150
hwnd = OpenWindow(#window,0,0,800,600,"",#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
CreateGadgetList(hwnd)
Frame3DGadget(#Frame,5,0,framebreite -10,595-MenuHeight(),"")
ButtonGadget(#Button1 ,WindowWidth(#Window)-90,2,25,18,"1")
ButtonGadget(#Button2 ,WindowWidth(#Window)-60,2,25,18,"2")
ButtonGadget(#ButtonBoth,WindowWidth(#Window)-30,2,25,18,"1/2")
; ButtonGadget(#TestButton,20,2,25,18,"1/2")
EditorGadget(#edit1,0,0,0,0)
EditorGadget(#edit2,0,0,0,0, #PB_Window_Invisible ) ; NEU !!!!
EditorGadget(#edit3,0,0,0,0, #PB_Editor_ReadOnly)
SplitterGadget(#Splitter, framebreite, 22, WindowWidth(#Window)- framebreite - 5, WindowHeight(#Window)-27,#edit1, #edit3)
AddGadgetItem(#edit1,0,"Esperanto-Textfield (1)")
AddGadgetItem(#edit2,0,"Esperanto-Ersatztext (2)") ; NEU !!!!
AddGadgetItem(#edit3,0,"German-Textfield (3)")
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_SizeWindow
ResizeGadget(#Frame , #PB_Ignore, #PB_Ignore, #PB_Ignore, WindowHeight(#Window)-5)
ResizeGadget(#Splitter , #PB_Ignore, #PB_Ignore, WindowWidth(#Window)- framebreite - 5, WindowHeight(#Window)-27)
ResizeGadget(#Button1 , WindowWidth(#Window)-90, #PB_Ignore, #PB_Ignore, #PB_Ignore)
ResizeGadget(#Button2 , WindowWidth(#Window)-30, #PB_Ignore, #PB_Ignore, #PB_Ignore)
ResizeGadget(#ButtonBoth , WindowWidth(#Window)-60, #PB_Ignore, #PB_Ignore, #PB_Ignore)
Case #PB_Event_Gadget
Select EventGadget()
Case #Button1
SetGadgetState(#Splitter, GadgetHeight(#Splitter))
Case #Button2
SetGadgetState(#Splitter, 0)
Case #ButtonBoth
SetGadgetAttribute(#Splitter, #PB_Splitter_SecondGadget, #edit2) ; NEU !!!!
SetGadgetState(#Splitter, GadgetHeight(#Splitter)/2)
EndSelect
EndSelect
Until event = #WM_CLOSE
AHA ???ts-soft hat geschrieben:Um Speicher zu sparen. PB reserviert Speicher für alle Gadgets ab 0
Diese existieren aber garnicht.
Da werden die Unsigned der Signed (-) genommenPureLust hat geschrieben:AHA ???ts-soft hat geschrieben:Um Speicher zu sparen. PB reserviert Speicher für alle Gadgets ab 0
Diese existieren aber garnicht.![]()
Aber klingt doch ziemlich unlogisch. Was ist denn dann bei #PB_Any ???
Code: Alles auswählen
SetGadgetAttribute(#Splitter, #PB_Splitter_SecondGadget, #edit2)
Code: Alles auswählen
#PB_Splitter_SecondGadget : Ersetzt das zweite Gadget durch ein neues.