Seleccionar elemento listbox

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
manuelfr
Mensajes: 3
Registrado: 03 Ago 2016, 08:12

Seleccionar elemento listbox

Mensaje por manuelfr »

Buenas tardes, he estado buscando en el foro pero no encuentro exactamente lo que necesito. A ver si me puedo explicar de forma sencilla. Tengo un directorio con archivos de CAD que tengo que "tratar" mediante un programa para generar unos ficheros en formato .txt
Los pasos a seguir son exactamente los mismos para todos los archivos, por eso quiero automatizar el proceso.
He conseguido arrancar el programa en cuestión y seleccionar una serie de opciones, pero cuando llego a esta pantalla me quedo "atascado":

Imagen

¿Como puedo seleccionar un elemento de ese listado que muestro en la imagen? en este caso en concreto necesitaría desplegar la carpeta DXFs para mostrar los subdirectorios que contiene y ver algo similar a esto:

Imagen

De momento el código que he escrito (y funciona) es este:

Código: Seleccionar todo

Run("C:\Program Files\FastCAM\FastCAM5.exe")
WinWaitActive("FastCAM")
Send("!f{DOWN 3}{ENTER}")
WinWaitActive("DXF")
ControlCommand("DXF Options","CAD Clean",14,"Check")
ControlCommand("DXF Options","Apply Z axis extrusion",13,"UnCheck")
ControlClick("DXF Options","",12,"left",1)
WinWaitActive("DXF file name")
pero no se como seguir :smt022
A ver si podéis echarme una mano, un saludo
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Seleccionar elemento listbox

Mensaje por Dany »

Hola. Puedes mostrar la información del control que proporciona AutoIt Window Info.



Saludos :smt027
  • ............................................Imagen
    ......................................Imagen
manuelfr
Mensajes: 3
Registrado: 03 Ago 2016, 08:12

Re: Seleccionar elemento listbox

Mensaje por manuelfr »

Si, perdona, iba a hacerlo ya en el anterior mensaje pero se me olvidó.
El código:

Código: Seleccionar todo

>>>> Window <<<<
Title:	DXF file name
Class:	ThunderRT6FormDC
Position:	32, 138
Size:	868, 293
Style:	0x16C80080
ExStyle:	0x00000101
Handle:	0x002F02A0

>>>> Control <<<<
Class:	ThunderRT6DirListBox
Instance:	1
ClassnameNN:	ThunderRT6DirListBox1
Name:	
Advanced (Class):	[CLASS:ThunderRT6DirListBox; INSTANCE:1]
ID:	11
Text:	
Position:	9, 34
Size:	234, 156
ControlClick Coords:	186, 50
Style:	0x54010063
ExStyle:	0x00000204
Handle:	0x001802BC

>>>> Mouse <<<<
Position:	198, 113
Cursor ID:	0
Color:	0xFFFFFF

>>>> StatusBar <<<<

>>>> ToolsBar <<<<
Y una captura de imagen:

Imagen
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Seleccionar elemento listbox

Mensaje por Dany »

Hola. Algo asi podrias hacer. Claro tienes que modificarlo acorde a lo que necesitas.

Código: Seleccionar todo

#include <GuiListBox.au3>


Local $sDirToGo = "C:\Program Files (x86)\AutoIt3\Examples\GUI\Simple"



_FindListDirPath($sDirToGo, "Text File Viewer")


Func _FindListDirPath($sDirPath, $sWindowTitle)
	Local $hWindow = WinGetHandle("[CLASS:ThunderRT6FormDC; TITLE:" & $sWindowTitle & "]")
	Local $hListControl = ControlGetHandle($hWindow, "", "[CLASS:ThunderRT6DirListBox; INSTANCE:1]")
	Local $aPathSplit = StringSplit($sDirToGo, "\")
	If Not $hWindow Then Return
	WinActivate($hWindow)
	WinWaitActive($hWindow)

	_GoToMainPath($hListControl)
	For $i = 2 To $aPathSplit[0]
		ConsoleWrite($aPathSplit[$i] & @CRLF)
		_FindAndClick($hListControl, $aPathSplit[$i])
	Next
EndFunc   ;==>_FindListDirPath




Func _GoToMainPath($hListDir)
	_GUICtrlListBox_ClickItem($hListDir, 0)
EndFunc   ;==>_GoToMainPath


Func _FindAndClick($hListDir, $sPathPart)
	Local $iListItem = _GUICtrlListBox_GetCount($hListDir)
	For $i = 0 To $iListItem - 1
		If _GUICtrlListBox_GetText($hListDir, $i) = $sPathPart Then
			_GUICtrlListBox_ClickItem($hListDir, $i)
			ExitLoop
		EndIf
	Next
EndFunc   ;==>_FindAndClick
Saludos :smt027
  • ............................................Imagen
    ......................................Imagen
manuelfr
Mensajes: 3
Registrado: 03 Ago 2016, 08:12

Re: Seleccionar elemento listbox

Mensaje por manuelfr »

Muchas gracias, voy a echarle un vistazo y en cuanto pueda te comento
Un saludo,
Responder