Cursortasten und StringGadget

Anfängerfragen zum Programmieren mit PureBasic.
ThoPie
Beiträge: 130
Registriert: 19.05.2006 15:18
Kontaktdaten:

Cursortasten und StringGadget

Beitrag von ThoPie »

Ich habe in einem Formular die Cursortasten links und rechts über ShortCuts für das Blättern in den Datensätzen programmiert. Nun möchte ich aber, wenn z.B. der Cursor in einem StringGadget ist nicht geblättert wird, sondern der Cursor im StringGadget entsprechend positioniert wird.
Habt ihr da eine Idee?
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Aus der hilfe PB4.10

Code: Alles auswählen

  If OpenWindow(0, 0, 0, 270, 70, "GetActiveGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    StringGadget  (0, 10, 10, 250, 20, "Press escape...")
    StringGadget  (1, 10, 40, 250, 20, "Press escape...")
    AddKeyboardShortcut(0, #PB_Shortcut_Escape, 1)
    SetActiveGadget(0)
    Repeat
      Event = WaitWindowEvent()
      If Event = #PB_Event_Menu And EventMenu() = 1
        MessageRequester("Test", "Escape pressed in Gadget " + Str(GetActiveGadget()))
      EndIf
    Until Event = #PB_Event_CloseWindow
  EndIf

Purebasic 5.0 32bit und 64 bit

I'm back from hell
ThoPie
Beiträge: 130
Registriert: 19.05.2006 15:18
Kontaktdaten:

Beitrag von ThoPie »

Ja - bei Escape geht das. Aber nicht bei den Cursortasten bzw. Buchstabentasten.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Der Code ist nicht wirklich optimal aber vielleicht hilft er dir weiter :

Code: Alles auswählen

hwnd = OpenWindow(0,#PB_Ignore,#PB_Ignore,400,400,"Test")

			 CreateGadgetList(hwnd)    
			 PanelGadget(0,0,0,400,400)
			 AddGadgetItem(0,-1,"1")
			 
			 StringGadget(1,5,5,100,20,"sadasd")
			 StringGadget(2,5,35,100,20,"sadasd")
			 StringGadget(3,5,65,100,20,"sadasd")
			 
			 AddGadgetItem(0,-1,"2")
			 AddGadgetItem(0,-1,"3")
			 AddGadgetItem(0,-1,"4")
			 
			 AddKeyboardShortcut(0,#PB_Shortcut_Right,0)			 
			 AddKeyboardShortcut(0,#PB_Shortcut_Left,1)
			 
Repeat
	event = WaitWindowEvent()
	
	If event = #PB_Event_CloseWindow
		End
	EndIf 
	
	
	If event = #PB_Event_Menu	
		
		If EventMenu() = 0
			panel = GetGadgetState(0)
			If panel < 4
				SetGadgetState(0,panel+1) 
			EndIf 
		EndIf 
		
		If EventMenu() = 1
			panel = GetGadgetState(0)
			If panel > 0
				SetGadgetState(0,panel-1) 
			EndIf 
		EndIf 		
		
	EndIf 
	
	If event = #PB_Event_Gadget
		
		If EventType() =  #PB_EventType_Focus
			If GadgetType(EventGadget()) = #PB_GadgetType_String			
				RemoveKeyboardShortcut(0,#PB_Shortcut_All)									
			EndIf 	
		EndIf 
		
		If EventType() = #PB_EventType_LostFocus
			AddKeyboardShortcut(0,#PB_Shortcut_Right,0)			 
			AddKeyboardShortcut(0,#PB_Shortcut_Left,1)
		EndIf 
		
	EndIf 
	
ForEver
Antworten