Seite 1 von 1

Von Editorgadget per Tab zum nächsten Gadget springen

Verfasst: 02.12.2010 15:26
von P1TBULL
Hallo,

ich würde gerne wenn ich im Editorgadget die "Tabulator-Taste" drücke zum nächsten Gadget springen, also dem nächsten Gadget den Fokus zuweisen.
Ich hab auch schon was probiert aber leider überspringt er dann das Editorgadget komplett:

Code: Alles auswählen

If GetAsyncKeyState_(#VK_TAB) And GetActiveGadget = 13
    SetActiveGadget(#Combo_5)
EndIf
Hat jemand ne Idee?

Liebe Grüße

Re: Von Editorgadget per Tab zum nächsten Gadget springen

Verfasst: 02.12.2010 16:27
von CSHW89
Aus der WinApi-Library von RSBasic:

Code: Alles auswählen

EnableExplicit

Global lpPrevFunc

Procedure RichEditProc(hWnd,uMsg,wParam,lParam)
  Select uMsg
    Case #WM_CHAR
      If wParam = #VK_TAB
        SetFocus_(GetWindow_(hWnd,#GW_HWNDNEXT))
        ProcedureReturn 1
      EndIf
  EndSelect
  ProcedureReturn CallWindowProc_(lpPrevFunc,hWnd,uMsg,wParam,lParam)
EndProcedure

If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  EditorGadget(1,10,10,100,100,0)
  EditorGadget(2,120,10,100,100,0)
  
  lpPrevFunc = SetWindowLongPtr_(GadgetID(1),#GWL_WNDPROC,@RichEditProc())
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
lg kevin

Re: Von Editorgadget per Tab zum nächsten Gadget springen

Verfasst: 02.12.2010 17:36
von P1TBULL
Funktioniert! Vielen Dank!

Re: Von Editorgadget per Tab zum nächsten Gadget springen

Verfasst: 02.12.2010 23:22
von CSHW89
Bei solchen problemen guck ich eigentlich immer in die besagte WinApi-Library. hier auch mal der link dazu:

http://www.purebasic.fr/german/viewtopi ... =6&t=16614
bzw: http://www.rsbasic.de/download/ ganz unten

sind wirklich richtig gute codeschnipsel dabei.

lg kevin