SysListView32 in VirtualDub ansteuern

  • Hallo

    Ich würde gerne eine SysListView in VirtualDub (x32) ansteuern. Aber ich krieg das nicht so richtig hin.

    Was ich gerne machen würd wäre folgendes:

    Schauen, ob beispielsweise der Zuschneiden-Filter gesetzt wurde. Dazu müßte ich nach "null transform" suchen, anschließend das gefundene Element anwählen bzw schauen ob es aktiv ist oder nicht, und es dann aktivieren, deaktivieren, oder entfernen (was zur Not auch mit Keystrokes geht) .

    Spoiler anzeigen
    [autoit]

    #Include <GuiListView.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $filters_title = "[TITLE:Filters]"
    $filters_cid = "[CLASS:SysListView32; INSTANCE:1]"
    $filters_hwnd = ControlGetHandle($filters_title,"",$filters_cid)

    [/autoit] [autoit][/autoit] [autoit]

    $clv_filters_count = ControlListView($filters_title,"",$filters_cid,"GetItemCount")
    $clv_filters_select = ControlListView($filters_title,"",$filters_cid,"GetSelected")
    $clv_filters_text = ControlListView($filters_title,"",$filters_cid,"GetText", 0, 0) ; funzt nicht
    $clv_filters_0trans = ControlListView($filters_title,"",$filters_cid,"FindItem","null transform") ; funzt nicht

    [/autoit] [autoit][/autoit] [autoit]

    $gui_filters_count = _GUICtrlListView_GetItemCount($filters_hwnd)
    $gui_filters_select = _GUICtrlListView_GetItemSelected ($filters_hwnd,1)
    $gui_filters_text = _GUICtrlListView_GetItemTextString($filters_hwnd,-1) ; Nur 3 Separatoren als Ergebnis
    $gui_filters_0trans = _GUICtrlListView_FindText($filters_hwnd,"null transform",-1,True) ; gibt ne 10-stellige Zahl zurück (?)

    [/autoit] [autoit][/autoit] [autoit]

    ConsoleWrite("ControlListView ::: " & "Filter Count: " & $clv_filters_count & " / Selected: " & $clv_filters_select & " / Item Text: " & $clv_filters_text & " / null transform: " & $clv_filters_0trans & @CRLF)
    ConsoleWrite("_GUICtrlListView ::: " & "Filter Count: " & $gui_filters_count & " / Selected: " & $gui_filters_select & " / Item Text: " & $gui_filters_text & " / null transform: " & $gui_filters_0trans & @CRLF)

    [/autoit]

    Im Beispiel-Code sieht man einige Kommandos die funktionieren, andere die nicht klappen. Mach ich was falsch, oder ist das Control zu exotisch?

    PS: Um den im Beispiel verwendeten "null transform"-Filter in VirtualDub hinzuzügen, STRG+F drücken, dann ALT+A, dann "n" tippen und enter.

    2 Mal editiert, zuletzt von klischee (15. März 2012 um 14:07)