Verfasst: 24.08.2006 18:12
Welch eine Freude diese "PureLust" in diesem Forum zu erleben.
Dieser kurze übersichtliche Code gefällt mir super!!
Danke an alle!

Dieser kurze übersichtliche Code gefällt mir super!!
Danke an alle!
Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
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.