Seite 1 von 1

stringgadget auslesen ?

Verfasst: 19.03.2008 19:55
von Mathias-Kwiatkowski
hi ich möchte den string aus einem string gadget auslesen um ihn mit printn darzustellen, wie mache ich das, welchen befehl brauche ich?

Verfasst: 19.03.2008 19:58
von Kaeru Gaman
GetGadgetText

aber Printn ist für die Console, das steht nicht im zusammenhang mit Fenstern mit Gadgets...

Verfasst: 19.03.2008 20:02
von Mathias-Kwiatkowski
ja ich weiss das das für die console ist, und thx für den befehl, hatte wohl ne rote brille auf oder so das ich das übersehn habe

Verfasst: 19.03.2008 20:05
von Mathias-Kwiatkowski
sorry für den doppelpost, aber dazu noch eine frage wie kann man feststellen ob enter in einem StringGadget gedrückt hat?

Verfasst: 19.03.2008 20:28
von Fluid Byte
Das geht nicht direkt aber man kann dem Fenster global einen Shortcut zufügen. Der gilt dann allerdings immer egal welches Gadget gerade den Fokus hat. Deshalb sollte man ihn wieder entfernen sobald ein String Gadget den Fokus verliert.

Code: Alles auswählen

#IDM_ReturnKey = 101

OpenWindow(0,0,0,320,240,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
StringGadget(0,5,5,200,20,"")
StringGadget(1,5,30,200,20,"")
ButtonGadget(2,5,60,200,25,"untitled")

Repeat
	EventID = WaitWindowEvent()

	If EventID = #PB_Event_Gadget And GadgetType(#PB_GadgetType_String)
		If EventType() = #PB_EventType_Focus
			AddKeyboardShortcut(0,#PB_Shortcut_Return,#IDM_ReturnKey)
		ElseIf EventType() = #PB_EventType_LostFocus
			RemoveKeyboardShortcut(0,#PB_Shortcut_Return)
		EndIf		
	EndIf
	
	If EventID = #PB_Event_Menu
		Select EventMenu()
			Case #IDM_ReturnKey
			Debug "RETURN KEY PRESSED"
		EndSelect		
	EndIf
Until EventID = #PB_Event_CloseWindow

Verfasst: 19.03.2008 20:32
von STARGÅTE
du kannst doch den Shortcut da lassen und einfach nachfragen wo das Enter gedrückt wurde :

Code: Alles auswählen

OpenWindow(0, 0, 0, 800, 600, "Fenster", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
 AddKeyboardShortcut(0, #PB_Shortcut_Return, 1)
 CreateGadgetList(WindowID(0))
  StringGadget(1, 10, 10, 200, 30, "")
  StringGadget(2, 10, 50, 200, 30, "")

Repeat
 Event = WaitWindowEvent()
 Select Event
  Case #PB_Event_CloseWindow
   End
  Case #PB_Event_Menu
   If EventMenu() = 1 
    Select GetActiveGadget()
     Case 1 : Debug "Enter gedückt im StringGadget 1"
     Case 2 : Debug "Enter gedückt im StringGadget 2"
    EndSelect
   EndIf
 EndSelect
ForEver
EDIT:
@NicTheQuick, jo ^^, ich sollte wieder schlafen gehen ^^

Verfasst: 19.03.2008 20:34
von NicTheQuick
Ich würde es so machen:

Code: Alles auswählen

#IDM_ReturnKey = 101

OpenWindow(0,0,0,320,240,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
StringGadget(0,5,5,200,20,"")
StringGadget(1,5,30,200,20,"")
ButtonGadget(2,5,60,200,25,"untitled")
AddKeyboardShortcut(0,#PB_Shortcut_Return,#IDM_ReturnKey)

Repeat
  EventID = WaitWindowEvent()
  
  If EventID = #PB_Event_Menu
    Select EventMenu()
      Case #IDM_ReturnKey
        Select GetActiveGadget()
          Case 0
            Debug "Stringgadget 1:" + GetGadgetText(0)
          Case 1
            Debug "Stringgadget 2:" + GetGadgetText(1)
        EndSelect
    EndSelect      
  EndIf
Until EventID = #PB_Event_CloseWindow
///Edit:
Hey Stargate:
Wir beide in einem Forum ist nicht gut. Da gibts immer Doppelposts! :lol: