Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Wdeah en 22 Enero 2007, 00:15 am



Título: Colores en ListBox
Publicado por: Wdeah en 22 Enero 2007, 00:15 am
Hola, tengo un listbox en el que quiero que cada item aparezca de un color u otro..
como podria hacerlo?

seria algo como..

Código:
lstUsers.List(index).ForeColor = RGB(0, 0, 0)

se puede hacer algo asi con este control?  :rolleyes:
 ;D gracias


Título: Re: Colores en ListBox
Publicado por: Syphroot en 22 Enero 2007, 01:48 am
Con este control no se puede, pero hay otro que si lo permite. Lo agregas en los complementos (Micosoft Windows Common Controls 6.0) se llama ListView

busca en google, incluso puedes agregar imagenes, etc... un control muy flexible y no muy complicado de usar


Título: Re: Colores en ListBox
Publicado por: ~~ en 22 Enero 2007, 18:07 pm
Mira un manual:

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-listview.htm

Aunke eso de los coleres no viene, pero weno, para q te hagas a la idea de como se usa

1S4ludo


Título: Re: Colores en ListBox
Publicado por: Wdeah en 23 Enero 2007, 22:02 pm
Ya con un listview no me hacen falta los colores, eran para identificar un estado.
Todos los manuales y tutoriales que encuentro son para el control listview, pero usando la ocx de "microsoft windows common controls 6.0" y este control no toma el estilo de windows, el que si lo toma es el control que esta en "microsoft windows common controls 5.0" pero no tienen las mismas propiedades, alguien sabe como usar bien este ultimo control?
Gracias. ;D


Título: Re: Colores en ListBox
Publicado por: CeLaYa en 23 Enero 2007, 23:28 pm
a que te refieres con eso de que "no toma el estilo de windows"????


Título: Re: Colores en ListBox
Publicado por: Wdeah en 24 Enero 2007, 00:04 am
con esta imagen se va a entender mejor  ;D

(http://img20.imageshack.us/img20/636/sinttulo1la0.gif)

el problema es que los controles no tiene las mismas propiedades, por ejemplo:
en el de estilo xp la propiedad FullRowSelect no es admitida...

quizas esta pero con otro nombre, o algo parecido..

por eso queria ver si alguien conoce algun manual/tutorial para usar ese control
gracias ;D


Título: Re: Colores en ListBox
Publicado por: CeLaYa en 24 Enero 2007, 00:21 am
pues yo en mi pc los veo igual. Hace tiempo me pasarón un código (en este foro), no recuerdo quien me lo paso pero funciona muy bien, lo que hace esque le da a los controles el aspecto de windows XP

Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
      name="Woozle.PEResourceExplorer.XPManifest"
      processorArchitecture="x86"
      version="1.0.0.0"
      type="win32"/>
<description>Windows Shell</description>
<dependency>
      <dependentAssembly>
            <assemblyIdentity
                     type="win32"
                     name="Microsoft.Windows.Common-Controls"
                     version="6.0.0.0"
                     processorArchitecture="x86"
                     publicKeyToken="6595b64144ccf1df"
                     language="*"
            />
      </dependentAssembly>
</dependency>
</assembly>

ese código ponlo en el blok de notas y cuando lo guardes debes de ponerle el nombre de tu ejecutable + .manifest. por ejemplo si ti ejecuable se llama Aplicación.exe el nombre debe ser Aplicación.exe.manifest y debe ir en el mismo directorio.

dentro de tu aplicación:
- En un módulo pones
Código:
Public Declare Sub InitCommonControls Lib "comctl32" ()

- y en los forms poner en el evento Initialize lo siguiente:
Código:
Private Sub Form_Initialize()
    InitCommonControls
End Sub

con esto lograras que tus controles tengan el aspecto de WinXP, claro que no lo veras hasta que compiles el programa y lo corras


Título: Re: Colores en ListBox
Publicado por: Wdeah en 24 Enero 2007, 00:28 am
claro, eso es lo que hice, la imagen que postie es un solo form, con el manifest para que los controles tomen en estilo de windows, pero el control listview de la izquierda, que utiliza la ocx mscomctl.ocx no toma el estilo de windows, en cambio el otro (el de la derecha) utiliza la ocx COMCTL32.OCX, y este es el que toma el estilo de windows, pero no son los dos controles iguales...