Colores en ListBox

Iniciado por Wdeah, 22 Enero 2007, 00:15 AM

0 Miembros y 1 Visitante están viendo este tema.

Wdeah

Hola, tengo un listbox en el que quiero que cada item aparezca de un color u otro..
como podria hacerlo?

seria algo como..

lstUsers.List(index).ForeColor = RGB(0, 0, 0)

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

Syphroot

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

~~

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

Wdeah

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

CeLaYa

a que te refieres con eso de que "no toma el estilo de windows"????
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

Wdeah

con esta imagen se va a entender mejor  ;D



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

CeLaYa

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


<?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

Public Declare Sub InitCommonControls Lib "comctl32" ()


- y en los forms poner en el evento Initialize lo siguiente:

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
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

Wdeah

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...