Seite 1 von 1
Cursortasten und StringGadget
Verfasst: 14.01.2008 20:13
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?
Verfasst: 14.01.2008 20:23
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
Verfasst: 15.01.2008 19:36
von ThoPie
Ja - bei Escape geht das. Aber nicht bei den Cursortasten bzw. Buchstabentasten.
Verfasst: 15.01.2008 20:09
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