Hiho also ich bin immer noch bei meinem Programm das eig, vieeel zu viele Inputs hat aber naja gut ![]()
Also es geht um ControlGetFocus der ja leider nur den Classname rausgibt
Also hab ich mir quasi ein zweites 2D-Array gemacht:
Spoiler anzeigen
$i = 1
$input_farbe = True
Global $array_inputs[300][14], $class_edit[40][14]
$edit = 1
$class0 = 6
$class1 = 7
$class2 = 8
$class3 = 9
$class4 = 10
$class5 = 11
$class6 = 12
$class7 = 13
$class8 = 14
$class9 = 15
$class10 = 16
$class11 = 17
$class12 = 18
$class13 = 19
For $f = 1 To 20
$array_inputs[$i][0] = GUICtrlCreateInput("", $lb_leiste_left2, $top, $lb_leiste_width1, 20) ;Kennzeichen
$class_edit[$edit][0] = "Edit"&$class0
$array_inputs[$i][1] = GUICtrlCreateInput("", $lb_leiste_left3, $top, $lb_leiste_width2, 20) ;Flugzeugtyp
$class_edit[$edit][1] = "Edit"&$class1
$array_inputs[$i][2] = GUICtrlCreateInput("", $lb_leiste_left4, $top, $lb_leiste_width3, 20) ;Pilot
$class_edit[$edit][2] = "Edit"&$class2
$array_inputs[$i][3] = GUICtrlCreateInput("", $lb_leiste_left5, $top, $lb_leiste_width4, 20) ;Co-Pilot
$class_edit[$edit][3] = "Edit"&$class3
$array_inputs[$i][4] = GUICtrlCreateInput("", $lb_leiste_left6, $top, $lb_leiste_width5, 20) ;Startart
$class_edit[$edit][4] = "Edit"&$class4
$array_inputs[$i][5] = GUICtrlCreateInput("", $lb_leiste_left7, $top, $lb_leiste_width6, 20) ;Startplatz
$class_edit[$edit][5] = "Edit"&$class5
$array_inputs[$i][6] = GUICtrlCreateInput("", $lb_leiste_left8, $top, $lb_leiste_width7, 20) ;Landeplatz
$class_edit[$edit][6] = "Edit"&$class6
$array_inputs[$i][7] = GUICtrlCreateInput("", $lb_leiste_left9+3, $top, $lb_leiste_width8, 20, $ES_NUMBER) ;Startzeit H
$class_edit[$edit][7] = "Edit"&$class7
$array_inputs[$i][8] = GUICtrlCreateInput("", $lb_leiste_left9+38, $top, $lb_leiste_width8, 20, $ES_NUMBER) ;Startzeit M
$class_edit[$edit][8] = "Edit"&$class8
$array_inputs[$i][9] = GUICtrlCreateInput("", $lb_leiste_left10+3, $top, $lb_leiste_width9, 20, $ES_NUMBER) ;Landezeit H
$class_edit[$edit][9] = "Edit"&$class9
$array_inputs[$i][10] = GUICtrlCreateInput("", $lb_leiste_left10+38, $top, $lb_leiste_width9, 20, $ES_NUMBER) ;Landezeit M
$class_edit[$edit][10] = "Edit"&$class10
$array_inputs[$i][11] = GUICtrlCreateInput("", $lb_leiste_left11+3, $top, $lb_leiste_width10, 20, $ES_NUMBER) ;Flugzeit H
$class_edit[$edit][11] = "Edit"&$class11
$array_inputs[$i][12] = GUICtrlCreateInput("", $lb_leiste_left11+38, $top, $lb_leiste_width10, 20, $ES_NUMBER) ;Flugzeit M
$class_edit[$edit][12] = "Edit"&$class12
$array_inputs[$i][13] = GUICtrlCreateInput("", $lb_leiste_left12, $top, $lb_leiste_width11, 20) ;Bemerkungen
$class_edit[$edit][13] = "Edit"&$class13
$top = $top + 25
$i += 1
$class1 += 14
$edit += 1
Next
So die Edit&Zahl stimmen das geht auch in anderen Funktionen
Nun will ich quasi das man mit HotKeySet Pfeilrechts dann in das nächste Feld reinkommt:
genau so wie nach unten nach oben und nach links ![]()
mein ansatz:
Spoiler anzeigen
Func go_right()
Select
Case WinActive($opts_namepgr[2]&" - Seite 1")
$window = $opts_namepgr[2]&" - Seite 1"
$state = ControlGetFocus($seite1)
Case WinActive($opts_namepgr[2]&" - Seite 2")
$window = $opts_namepgr[2]&" - Seite 2"
$state = ControlGetFocus($seite2)
Case WinActive($opts_namepgr[2]&" - Seite 3")
$window = $opts_namepgr[2]&" - Seite 3"
$state = ControlGetFocus($seite3)
Case WinActive($opts_namepgr[2]&" - Seite 4")
$window = $opts_namepgr[2]&" - Seite 4"
$state = ControlGetFocus($seite4)
Case Else
$state = 0
EndSelect
$posarray = _Array2DSearch($class_edit, $state, -1, 0, 20, False, True)
If $posarray[0] <> 0 Or $posarray[0] <> -1 Then
MsgBox(0, "lol", $state)
_ArrayDisplay($posarray)
;ControlFocus($window, "",
EndIf
EndFunc
So nur wie werte ich das ganze jetzt mit dem _Array2DSearch aus???
Also es muss dann quasi nur ControlFocus($window, "", $array_inputs[$pos1][$pos2+1] sein damit es dann das rechte Feld von dem jetzigen focused^^
THX wieder mal für alle die sich mühe geben mich zu verstehn ![]()