| |
|
|
rafl | Hallo,
ich habe ein Dialog, in dem ich fünf Editboxen zur Eingabe von Daten habe.
Ich möchte gerne den Focus auf die Editboxen mit der Taste "Pagedown" ändern. D.h. beim Drücken der Taste soll der Focus auf das nächste Eingabefeld springen. Wie kann ich das machen?
Vielen Dank schon mal Rafl |
|
|
| |
|
|
|
H.Brill | Das dürfte nur mit SubClassing gehen. Das <ENTER> im Editfeld ist dagen schon eingebaut.
$H windows.ph
Def OnEnter(0) MenuItem(13)
Def OnVK_NEXT(0) MenuItem(34)
Proc GetNextChild
Parameters h&
Var ID% = ItemId(h&)
Var hNext& = GetHandle(~GetParent(h&),ID% + 1)
Case hNext& = 0:hNext& = GetHandle(~GetParent(h&),1000)
Return hNext&
EndProc
Cls
AddHotKey 34,34,0
AddHotKey 13,13,0
Var Ed& = Create("Edit",%hwnd,"Text 1",400,10,200,24)
Var Ed1& = Create("Edit",%hwnd,"Text 2",400,40,200,24)
Var Ed2& = Create("Edit",%hwnd,"Text 3",400,70,200,24)
Var Ed3& = Create("Edit",%hwnd,"Text 4",400,100,200,24)
Var Ed4& = Create("Edit",%hwnd,"Text 5",400,130,200,24)
SetFocus(Ed&)
While 1
WaitInput
If %key = 2
Break
ElseIf OnVK_NEXT()
SendMessage(GetNextChild(%getfocus), $00B1, 6, 0)' 6 Zeichen markieren
SetFocus(GetNextChild(%getfocus))
ElseIf OnEnter()
SendMessage(GetNextChild(%getfocus), $00B1, 6, 0)
SetFocus(GetNextChild(%getfocus))
EndIf
EndWhile
|
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 23.02.2019 ▲ |
|
|
|
|
rafl | Vielen Dank für die schnelle Antwort.
Das ist zwar nicht ganz das, was ich gesucht habe, mit der [ENTER] Lösung kann ich aber auch ganz gut leben. |
|
|
| |
|
|
|
H.Brill | Hier was (in diesem Forum gefunden), was deiner Vorstellung nahe kommt. Geht mit ENTER + BILD RUNTER :
$H windows.ph
Def OnEnter(0) MenuItem(13)
Def OnVK_NEXT(0) MenuItem(34)
Proc GetNextChild
Parameters h&
Var ID% = ItemId(h&)
Var hNext& = GetHandle(~GetParent(h&),ID% + 1)
Case hNext& = 0:hNext& = GetHandle(~GetParent(h&),1000)
Return hNext&
EndProc
Cls
AddHotKey 34,34,0
AddHotKey 13,13,0
Var Ed& = Create("Edit",%hwnd,"Text 1",400,10,200,24)
Var Ed1& = Create("Edit",%hwnd,"Text 2",400,40,200,24)
Var Ed2& = Create("Edit",%hwnd,"Text 3",400,70,200,24)
Var Ed3& = Create("Edit",%hwnd,"Text 4",400,100,200,24)
Var Ed4& = Create("Edit",%hwnd,"Text 5",400,130,200,24)
SetFocus(Ed&)
While 1
WaitInput
If %key = 2
Break
ElseIf OnVK_NEXT()
SendMessage(GetNextChild(%getfocus), $00B1, 6, 0)' 6 Zeichen markieren
SetFocus(GetNextChild(%getfocus))
ElseIf OnEnter()
SendMessage(GetNextChild(%getfocus), $00B1, 6, 0)
SetFocus(GetNextChild(%getfocus))
EndIf
EndWhile
Hilft das weiter ? |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 24.02.2019 ▲ |
|
|
|
|
rafl | Super, genau das, was ich gesucht habe.
Vielen Dank |
|
|
| |
|
|