Hi Leute,
ich hab ein Problem mit einem UpDown Control, welches in einem Input control eingebettet wurde. Zwar nicht beim abfangen des updown controls sondern bei dem was es anschließend machen soll
Hier der Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <UpDownConstants.au3>
$hGUI = GUICreate("Test", 500, 500)
[/autoit][autoit][/autoit][autoit]$hInput = GUICtrlCreateInput("5000", 10, 10, 100, 20)
$hUpDown = GUICtrlCreateUpdown($hInput, BitOR($UDS_WRAP, $UDS_NOTHOUSANDS))
GUICtrlSetLimit($hUpDown, 6000, 5000)
GUISetState()
[/autoit][autoit][/autoit][autoit]GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY")
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
[/autoit][autoit][/autoit][autoit]Func _WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
[/autoit][autoit][/autoit][autoit]; Is it from the UpDown?
If BitAND($wParam, 0xFFFF) = $hUpDown Then
; Create NMUPDOWN structure
Local $tStruct = DllStructCreate("hwnd;long;int;long;long", $lParam)
$imgIndex = DllStructGetData($tStruct, 4) ; Input auslesen
MsgBox(0, "fdsf", $imgIndex)
EndIf
EndIf
EndFunc
[/autoit]Dies ist nicht mein Code, habe es nur zum aufzeigen verwendet, wie man das updown control abfängt. Ich möchte den Inhalt auslesen, allerdings ist es so, wenn ich up oder down klicke liest er den aktuellen inhalt aus, während er danach erst inkrementiert. Es ist also alles immer um 1 verschoben. Wenn ich 1 ausgelesen habe, steht im control 2, dann liest er 2 aus und dort steht 3. Jetzt hab ich noch ein Label welches mit GUICTRLSetData angepasst werden soll und zwar mit dem Inhalt eines Arrays was von [0] - [3] geht. Wenn ich mit dem updown control hochgehe ist es noch machbar, indem ich $imgIndex -1 setze, aber da ich nicht prüfen kann ob nun up oder down geklickt wurde, klappt es nicht beim runtergehen. Wenn im control 4 steht und ich down klicke hab ich 3, mein array hat dann [3], da $imgIndex -1, obwohl das array ja [2] haben sollte, da nach dem down klick der Inhalt 3 ist
Hoffe ihr könnt folgen, sonst muss ich weiter ausholen!
Hat jemand eine idee, wie ich das nun umsetzen kann?
Danke Leute!