auha .. gadgets mit Nummern sind möglichst zu vermeiden. spätestens bei einem Redesign des Codes
kommst Du sonst vermutlich ins Schleudern.
Es gibt den in PB eingebauten VisualDesigner .. der erzeugt wenn auch keinen perfekten so doch lauffähigen
code und optional optional inkusive Messageschleife, die in deinem Code auch nicht da ist.
Damit bekommst Du schonmal ein passendes Gerüst. Aufpeppt mit einen Keyboardshortcut auf
der Returntaste und etwas nachbehandelt (Select-Schleife) ergibt sich dann eventuell sowas
wie das folgende
Die Ausgabe im EditGadget erfolgt immer in der ersten Zeile damit es das Runterscrollen spart
Code: Alles auswählen
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
Enumeration ;- Window Constants
#Window_0
EndEnumeration
Enumeration ;- Gadget Constants
#String_0
#Editor_0
EndEnumeration
Enumeration;Menu Constants
#SK1
EndEnumeration
If OpenWindow(#Window_0, 339, 218, 424, 300, "Ende mit quit", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
StringGadget(#String_0, 20, 10, 380, 20, "")
EditorGadget(#Editor_0, 20, 40, 380, 230)
EndIf
AddKeyboardShortcut(#Window_0,#PB_Shortcut_Return,#SK1)
EndIf
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadget() ; Is it a gadget event?
EventType = EventType() ; The event type
EventMenu = EventMenu() ; The event Menu
;You can place code here, and use the result as parameters for the procedures
Select event
Case #PB_Event_CloseWindow
quit+1
Case #PB_Event_Menu
If eventMenu=#SK1
tmp.s= GetGadgetText(#STRING_0)
tmp=ReplaceString(tmp,",",".")
AddGadgetItem(#Editor_0,0,tmp+" (mm) -> "+StrF(ValF(tmp)*25.4,4)+" inch")
SetGadgetText(#string_0,"")
If tmp="quit"
quit+1
EndIf
EndIf
Case #PB_Event_Gadget
If GadgetID = #String_0
;irgendwas
ElseIf GadgetID = #Editor_0
;was anderes
EndIf
EndSelect
Until quit
End