GUICtrlCreateList

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
joaquin
Aprendiz de Mago
Mensajes: 48
Registrado: 04 Jun 2008, 22:31
Ubicación: Barcelona, España

GUICtrlCreateList

Mensaje por joaquin »

¿Es posible crear un checkBox dentro de un GUICtrlCreateList, o sea, que quede integrado y sea funcional en cada uno de los elementos que componen la lista?
Con _GUICtrlListView_SetItemChecked($hListView, 0) sí se puede, pero la pregunta es referida a GUICtrlCreateList.
Avatar de Usuario
gna08
Hacker del Foro
Mensajes: 379
Registrado: 27 Sep 2008, 18:51
Ubicación: Cordoba, Argentina

Re: GUICtrlCreateList

Mensaje por gna08 »

Te re feris a algo como esto??
Imagen

Si es asi es sencillo, solo necesitas crear en ves del GUICtrlCreateList un GUICtrlCreateTreeView de esta forma

Código: Seleccionar todo

$hTree = GUICtrlCreateTreeView(x, y, ancho, alto, BitOR($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS,$TVS_CHECKBOXES,$TVS_TRACKSELECT,0x00020000,0x00010000))

 
ACordate de agregar el include #include <GuiTreeView.au3>
y para krear los items , o checkbox hace esto

Código: Seleccionar todo

GUICtrlCreateTreeViewItem("Aca tu checkbox texto", $hTree)
E sesto o k kosa, responde si te sirvio ;)
Aunk no m Buskes, Seguro m enkontras!
joaquin
Aprendiz de Mago
Mensajes: 48
Registrado: 04 Jun 2008, 22:31
Ubicación: Barcelona, España

Re: GUICtrlCreateList

Mensaje por joaquin »

Gracias por la respuesta,
Entiendo que NO se puede realizar con GUICtrlCreateList. Creo que tu propuesta si serviría.
Explico un poco mejor lo que quiero hacer:
1) En un control aparece un listado de funciones (Ex: Break, Call,...)
2) Al seleccionar un item de la lista del primer control, da la descripción del item en otro control (Edit, List,...?)
3) Sólo si está checkado el item seleccionado del primer control lanzará un script de ejemplo de la función.
Por tanto, tendria que hacer dos funciones: selección+Check.

Además de lo planteado en relación a los Controles, ¿Cómo puedo manejar las variables de funciones ($f) y descripciones ($d) con un Array2D ?

Código: Seleccionar todo




#include <GUIConstantsEx.au3>

#include <GUIListBox.au3>

#include <StaticConstants.au3>

#include <WindowsConstants.au3>

#include <GuiTreeView.au3>



$f1 ="BlockInput |"

$f2 ="Break "

$f3 ="Call"

$f4 ="Execute"



$d1 ="Habilita/Deshabilita el mouse y teclado"

$d2 ="Habilita/Deshabilita la posibilidad de salir del Script desde tray icon"

$d3 ="Llamada a una función de usuario"

$d4 ="Ejecuta una expresión"



$Form1 = GUICreate("", 725, 199, 317, 243)

$hTree = GUICtrlCreateTreeView(6, 6, 150, 40, BitOR($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS,$TVS_CHECKBOXES,$TVS_TRACKSELECT,0x00020000,0x00010000))

GUICtrlCreateTreeViewItem("Break", $hTree)

GUICtrlCreateTreeViewItem("Call", $hTree)



$Group1 = GUICtrlCreateGroup("Funcion", 32, 40, 297, 121)

$List1 = GUICtrlCreateList("", 56, 64, 249, 84)

GUICtrlSetData(-1, "BlockInput|Break|Call|Execute|OnExitFunc|SetError|VarGetType")





$Group2 = GUICtrlCreateGroup("Descripcion", 344, 40, 369, 121)

$List2 = GUICtrlCreateList("", 360, 64, 345, 84)





GUISetState(@SW_SHOW)







While 1

    $nMsg = GUIGetMsg()

    Switch $nMsg

        Case $GUI_EVENT_CLOSE

            Exit

        ;Case  GUICtrlRead($List1,1) = $f1

            ;GUICtrlSetData($List2,$d1)



    EndSwitch





WEnd





 
Avatar de Usuario
gna08
Hacker del Foro
Mensajes: 379
Registrado: 27 Sep 2008, 18:51
Ubicación: Cordoba, Argentina

Re: GUICtrlCreateList

Mensaje por gna08 »

Haber, la cosa es. (segun entendi).. si esta seleccionado uno de estos ITEMS muestra X info, pero si esta chekeado x asi decirlo, lo manda a ejecutar segun sea¿ asi seria?? :smt017
Aunk no m Buskes, Seguro m enkontras!
joaquin
Aprendiz de Mago
Mensajes: 48
Registrado: 04 Jun 2008, 22:31
Ubicación: Barcelona, España

Re: GUICtrlCreateList

Mensaje por joaquin »

Justo eso mismo: ...sólo si está checkado, además de mostrar la descripción, lanzará la función que representa.
Avatar de Usuario
gna08
Hacker del Foro
Mensajes: 379
Registrado: 27 Sep 2008, 18:51
Ubicación: Cordoba, Argentina

Re: GUICtrlCreateList

Mensaje por gna08 »

BUeno, mira, edite un poco el code.. emmm. es para que tengas una idea.. si es masomenos lo k kerias, siguiendo el ejemplo vas a lograrlo.. otra cosa, lo de los arrays, te referis para no estar agregando control por control ? :smt017

Código: Seleccionar todo


#include <GuiTreeView.au3>



$f1 ="BlockInput |"

$f2 ="Break "

$f3 ="Call"

$f4 ="Execute"



$d1 ="Habilita/Deshabilita el mouse y teclado"

$d2 ="Habilita/Deshabilita la posibilidad de salir del Script desde tray icon"

$d3 ="Llamada a una función de usuario"

$d4 ="Ejecuta una expresión"





$Form1 = GUICreate("", 725, 199)

$hTree = GUICtrlCreateTreeView(6, 6, 150, 40, BitOR($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS,$TVS_CHECKBOXES,$TVS_TRACKSELECT,0x00020000,0x00010000))



$BREAK = GUICtrlCreateTreeViewItem("Break", $hTree)



$CALL = GUICtrlCreateTreeViewItem("Call", $hTree)



$Group1 = GUICtrlCreateGroup("Funcion", 32, 40, 297, 121)

$List1 = GUICtrlCreateList("", 56, 64, 249, 84)

GUICtrlSetData(-1, "BlockInput|Break|Call|Execute|OnExitFunc|SetError|VarGetType")

$Group2 = GUICtrlCreateGroup("Descripcion", 344, 40, 369, 121)



$List2 = GUICtrlCreateEDIT("", 360, 64, 345, 84)



GUISetState(@SW_SHOW)



While 1

    Switch GUIGetMsg()

        Case -3

            Exit

        Case $BREAK

            If _GUICtrlTreeView_GetChecked($hTree, $BREAK) Then

                MsgBox(0, "", "Chekeaste el control $BREAK!. aca en lugar del msgbox pones lo que kieras...")

            Else

                GUICtrlSetData($List2, $d2) ; aca se setea la info cuando haces seleccion solamente

            EndIf

        Case $CALL

            If _GUICtrlTreeView_GetChecked($hTree, $CALL) Then

                MsgBox(0, "", "Chekeaste el control $CALL!. aca en lugar del msgbox pones lo que kieras...")

            Else

                GUICtrlSetData($List2, $d3) ; aca se setea la info cuando haces seleccion solamente

            EndIf

    EndSwitch

WEnd

 
Aunk no m Buskes, Seguro m enkontras!
joaquin
Aprendiz de Mago
Mensajes: 48
Registrado: 04 Jun 2008, 22:31
Ubicación: Barcelona, España

Re: GUICtrlCreateList

Mensaje por joaquin »

Gracias por editar el Code. Efectivamente pude resolver...
En relación a los Arrays, me pareció que podría ir bien ya que cada una de las variables de función ($f1)se relaciona con sólo una de las variables de descripción($d1). Algo así:
$array[4][4] = [["BlockInput ","Break ","Call","Execute"],["Habilita/Deshabilita el mouse y teclado","Habilita/Deshabilita la posibilidad de salir del Script desde tray icon","Llamada a una función de usuario","Ejecuta una expresión"]]

...Aunque no sé si es la mejor opción. De todas formas, veo que las descripciones podrian requerir párrafos, en lugar de líneas y quizá sería mejor que cada elemento del array fuera extraido de un .ini o un .txt . Puedes sugerir?

Por cierto ¿hay alguna manera de quebrar la linea de edición en Scite, y que entienda que es continuación de la anterior?

Saludos
Avatar de Usuario
gna08
Hacker del Foro
Mensajes: 379
Registrado: 27 Sep 2008, 18:51
Ubicación: Cordoba, Argentina

Re: GUICtrlCreateList

Mensaje por gna08 »

...Aunque no sé si es la mejor opción. De todas formas, veo que las descripciones podrian requerir párrafos, en lugar de líneas y quizá sería mejor que cada elemento del array fuera extraido de un .ini o un .txt . Puedes sugerir?
Usas esto Ej:

Código: Seleccionar todo

"Soy una oracion." & @CRLF & "Acabo de crear salto de linea, ya tenes un parrafo"
Por cierto ¿hay alguna manera de quebrar la linea de edición en Scite, y que entienda que es continuación de la anterior?
Sii hace eso:

Código: Seleccionar todo

$soy = "soy re largo uy me tenes k kortar" & _

        "por lo tanto como me corta, soy contnuacion"
Saludos y decime si te anduvo..o si era lo que necesitabas.. nos vemos :smt023
Aunk no m Buskes, Seguro m enkontras!
joaquin
Aprendiz de Mago
Mensajes: 48
Registrado: 04 Jun 2008, 22:31
Ubicación: Barcelona, España

Re: GUICtrlCreateList

Mensaje por joaquin »

Gracias por la ayuda, justo lo que necesitaba.... :smt003
Saludos
Responder