Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-08-2003
Er_Manué Er_Manué is offline
Miembro
 
Registrado: may 2003
Posts: 74
Poder: 21
Er_Manué Va por buen camino
modificación de TFlatComboBox

Hola de nuevo!

Tengo un "pequeño" problemilla con un componente que he modificado el componente es cuestion es el TFlatComboBox, me he creado un nuevo componente llamado miTFlatComboBox (Original el nombre ) que no es más que una modificación para permitir mostrar 2 columnas separadas por una línea, y realizar búsquedas por cada uno de los campos, y cosillas de ese tipo.

El componente esta en modo style=csOwnerDrawFixed, el problema es que quiero cambiar el color del elemento seleccionado y dejar el resto en su color normal.

Se que debo hacerlo en el evento onPaint() pero no se como hacerlo para que solo cambie el color del item sobre el que se encuentra el rectángulo de selección.

musas asias
Responder Con Cita
  #2  
Antiguo 08-08-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 21
andres1569 Va por buen camino
Hola:

No conozco la implementación de ese componente TFlatComboBox, pero si hereda de un TComboBox, quizás deberías redefinir el método DrawItem y ahí te da información, en el parámetro State sobre si el Item es el que hay seleccionado (HighLight) o no.

Otra cosa, ya que estás creando un componente propio, heredado de otro, es recomendable usar los métodos virtuales (o dynamic) que tiene la clase ancestra, en vez de interceptar los eventos del tipo OnPaint, OnDrawItem, ... puesto que éstos están pensados para ser escritos por el programador final, y así evitas la posibilidad de que se pueda machacar el código que has previsto para tu componente. Muchos de estos eventos del tipo OnXXX se lanzan desde un método con el mismo nombre pero sin el On.
__________________
Guía de Estilo

Última edición por andres1569 fecha: 08-08-2003 a las 14:35:57.
Responder Con Cita
  #3  
Antiguo 08-08-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Posteado originalmente por Er_Manué
el problema es que quiero cambiar el color del elemento seleccionado y dejar el resto en su color normal.
No entiendo que quieres decir con esto, pero a lo mejor te sirve la demo que hay en mi web sobre el ComboBox en el cual muestro como pintar una columna de un color y una fila especifica de otro,.....
Responder Con Cita
  #4  
Antiguo 11-08-2003
Er_Manué Er_Manué is offline
Miembro
 
Registrado: may 2003
Posts: 74
Poder: 21
Er_Manué Va por buen camino
Talking

Ya esta solucionado el problema era que utilizaba Index para ver el elemento seleccionado en vez de state

Lo de pintar lo controlaba en el evento DrawItem en vez de onPaint(), en que estaría pensando yo

muxas asias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:23:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi