Página 1 de 1

GuiCtrlCreatelabel en multiples lineas

Publicado: 06 Jun 2014, 23:40
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.

Re: GuiCtrlCreatelabel en multiples lineas

Publicado: 07 Jun 2014, 14:01
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

Re: GuiCtrlCreatelabel en multiples lineas

Publicado: 08 Jun 2014, 00:53
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!

Re: GuiCtrlCreatelabel en multiples lineas

Publicado: 09 Jun 2014, 16:11
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.