 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Invitado Invitado
|
Publicado: Lun 21 Abr, 2003 7:10 am Asunto: ComboBox de colores |
|
|
HOla foro,
tengo un ComboBox con una docena de valores (colores), en lugar de mostrar el nombre del color (rojo, azul, ...) me gustaria representar en cada item del comboBox el color correspondiente (al desplegarse).
He estado mirando el foro y la ayuda, pero no veo nada parecido.
gracias por vuestro tiempo,
javi |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 21 Abr, 2003 8:14 pm Asunto: |
|
|
Si usas la versión 6 del C++Builder tienes en la pestaña 'Additional' el componente TColorBox.
También en cualquier versión puedes hacerlo dibujando cada elemento del ComboBox del siguiente modo:
- Ponemos la propiedad Style del TComboBox a csOwnerDrawFixed.
- Rellenamos la propiedad Items con los nombres de los colores que queremos mostrar o bien su valor hexadecimal. Por ejemplo clYellow o 0x0000FFFF (un color en cada línea). Ya sea en tiempo de diseño o en tiempo de ejecución en el constructor del Form del siguiente modo:
ComboBox1->Items->Add("clRed");
ComboBox1->Items->Add("clGreen");
ComboBox1->Items->Add("0x0000FFFF");
...
- Y finalmente en el evento OnDrawItem ponemos el código que pintara cada elemento:
void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Control,
int Index, TRect &Rect, TOwnerDrawState State)
{
//--- TComboBox::OnDrawItem ---//
TComboBox* cb = static_cast<TComboBox*>(Control);
cb->Canvas->Brush->Color = StringToColor(cb->Items->Strings[Index]);
cb->Canvas->FillRect(Rect);
}
Este es el resultado:
 |
|
| Volver arriba |
|
 |
Juan25 Invitado
|
Publicado: Sab 26 Abr, 2003 9:25 pm Asunto: Hola |
|
|
Esta muy bueno eso, gracias _Leo sos el mejor.
[img]
usuarios.lycos.es/jhonalba/images/intel.gif
[/img]
Saludos. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|