GuiCtrlCreatelabel en multiples lineas

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
kemazonico
Aprendiz de Mago
Mensajes: 29
Registrado: 26 May 2007, 19:25

GuiCtrlCreatelabel en multiples lineas

Mensaje por kemazonico »

Tengo el siguiente codigo:

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 714, 676, 460, 5)
$button1 = GUICtrlCreateButton ("Consultar", 630, 650, 80, 20)
GUISetState(@SW_SHOW)
$combo1 = GUICtrlCreateList ("", 8, 30, 250, 640, "", $WS_EX_TRANSPARENT)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		case $button1
			$oMyError = ObjEvent("AutoIt.Error","oErrorConnect")
$sqlCon = ObjCreate("ADODB.Connection")
$sqlCon.Open("DRIVER={SQL Server};SERVER=10.0.1.17;DATABASE=FinamigoConsolidado;UID=mestradaz;PWD=;")
$rs = ObjCreate("ADODB.RecordSet")

If IsObj($sqlCon) Then
			$rs = ObjCreate("ADODB.RecordSet")
			$rs.Open("SELECT * FROM tcsempleados where ingreso between '20140515' and '20140606'", $sqlCon)
While $rs.eof <> True
			GUICtrlCreateLabel($rs.Fields("PATERNO").Value & " " & $rs.Fields("MATERNO").Value & " " & $rs.Fields("NOMBRES").Value, 8, 32, 220, 17 )
GUICtrlSetData ($combo1, $rs.Fields("PATERNO").Value & " " & $rs.Fields("MATERNO").Value & " " & $rs.Fields("NOMBRES").Value )

			$rs.MoveNext
WEnd
			$rs.Close
;~ 			$sqlCon.Close
EndIf

	EndSwitch
WEnd
El cual se conecta a una base de datos, obtiene nombre y apellidos con base en un criterio de busqueda, despues la intencón es ingresarlos en una ventana en forma de lista con GuiCtrlCreateLabel el cual deberia mostrar los registros ordenados en una especie de tabla, de un lado los nombres y delante del nombre colocar unos checkbox para mostrar si esta activa cierta facultad del usuario en el sistema.

Uno de los problemas que he encontrado es que no se como crear el "label" con cada uno de los nombres con una separación de unos 30 pixeles entre cada uno y la misma separación para la fila de los checkboxs, esto con la intención de que esten alineados los valores.

Aqui un ejemplo:

Garcia Contreras Juan Sistema1 x Sistema2 x Sistema3 x Sistema4 x
Mejia Lopez Eduardo Sistema1 Sistema2 x Sistema3 Sistema4 x

Y así.

¿Alguien que me pueda dar una mano?

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

Re: GuiCtrlCreatelabel en multiples lineas

Mensaje por Dany »

Pues podrias crear un label nada mas. bien grande. y usar @crlf para una nueva linea, y uno o dos chr(32) para separación.


Saludos :smt027
  • ............................................Imagen
    ......................................Imagen
PDF
Hacker del Foro
Mensajes: 152
Registrado: 18 Ene 2013, 23:23

Re: GuiCtrlCreatelabel en multiples lineas

Mensaje por PDF »

Te recomiendo utilizar GuiCtrlCreateListView para este caso y así ubicar el "Nombre de Usuario" en una columna y la "Facultad" en otra, no tendría problemas de posición con GuiCtrlCreateListViewItem, hasta podrías ordenar los datos con este tipo de control ...
Saludos!
kemazonico
Aprendiz de Mago
Mensajes: 29
Registrado: 26 May 2007, 19:25

Re: GuiCtrlCreatelabel en multiples lineas

Mensaje por kemazonico »

No era lo que planteaba en un principio, lo queria hacer de manera un poco mas grafica, pero el metodo que comentas cubre perfectamente mis necesidades, incluso veo que de esta manera no tendria que pelearme con ir calculando la posición de la siguiente fila y ordenar los valores.

Excelente, lo voy a implementar y si tengo dudas les estare molestando nuevamente.

Saludos y gracias nuevamente.
Responder