Jump to content

Can't control SysListView32 in VirtualDub


Recommended Posts

Hi

I hope there are people out there which have installed VirtualDub (Open Source) or are willing to install it to help me ;)

What I want to do:

I want to see what filters are set and being able to (de-)select, delete or manipulate them...

Problem:

I don't get all the informations I need out of the SysListView32 control and so I can't manipulate it with AutoIt. Some commands work (like "GetItemCount"), but most does not (like "GetText"). The control seems to be no default SysListView32 - Please look at the attachement if you don't have installed VirtualDub.

post-64854-0-44580900-1334400528_thumb.p

Example:

Open up VirtualDub, press CTRL+F to open up the filters dialog, and add some filters of your choice and "null transform" as I use it's name in the example code. Then run the code below.

#Include <GuiListView.au3>

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

$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) ; does not work
$clv_filters_0trans = ControlListView($filters_title,"",$filters_cid,"FindItem","null transform") ; does not work

$gui_filters_count  = _GUICtrlListView_GetItemCount($filters_hwnd)
$gui_filters_select = _GUICtrlListView_GetItemSelected ($filters_hwnd,1)
$gui_filters_text   = _GUICtrlListView_GetItemTextString($filters_hwnd,-1) ; Only 3 separators as result
$gui_filters_0trans = _GUICtrlListView_FindText($filters_hwnd,"null transform",-1,True) ; I get a 10-char number (?)

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)

Any chance I can work with the control? I really hope you can help me :)

Edited by bumsbomber
Link to comment
Share on other sites

Examine the control with the AutoIt Window Info Tool (AU3Info.exe), and post the contents of the "Summary" tab. That will tell much more than the screen shot.

;)

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Link to comment
Share on other sites

Oh, of course, sorry!

>>>> Window <<<<
Title:  Filters
Class:  #32770
Position:   361, 162
Size:   521, 357
Style:  0x94CC004C
ExStyle:    0x00010100
Handle: 0x000404E0

>>>> Control <<<<
Class:  SysListView32
Instance:   1
ClassnameNN:    SysListView321
Name:   
Advanced (Class):   [CLASS:SysListView32; INSTANCE:1]
ID: 1023
Text:   
Position:   11, 11
Size:   405, 284
ControlClick Coords:    193, 31
Style:  0x5001880D
ExStyle:    0x00000204
Handle: 0x00020500

>>>> Mouse <<<<
Position:   569, 230
Cursor ID:  0
Color:  0xFFFFFF

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<
OK
Cancel
&Add...
&Delete
Move &Up
Move D&own
C&ropping...
&Configure...
&Blend
&Show image formats
Show &pixel aspect ratios
Show &frame rates
O&ptions...


>>>> Hidden Text <<<<

What tell's it to a pro? ^^

Edited by bumsbomber
Link to comment
Share on other sites

This is what I get using your code:

ControlListView  ::: Filter Count: 2 / Selected: 1 / Item Text:  / null transform: -1
_GUICtrlListView ::: Filter Count: 2 / Selected: True / Item Text: |320x240|320x240|null transform / null transform: -1

Seems fine to me. Is your AutoIt set to compile as x86 or x64? AutoIt x86 is needed to access external x86 Listview details.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...