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 18-08-2005
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 22
sur-se Va por buen camino
Unhappy Repintado de componentes en DBCtrlGrid.

Hola. Utilizo Delphi 5.
He creado dos componentes nuevos que describo a continuación:
- TDBComboBoxSSE que viene heredado del TDBComboBox de la paleta DataControls. La única diferencia es el botón de desplegar los items, que es con otro dibujo, nada más. Se hace capturando el evento WMPaint, llamando al inherited y luego pintado el botón.
- TDBCtrlGridSSE. Este es nuevo, no viene heredado del DBCtrlGrid porque tenía que modificar código que no estaba disponible para los herederos, así que copie la unit entera e hice una nueva unit con el componente. Lo que he modificado se refiere básicamente a las teclas y otros aspectos similares.

Bien. Vamos al problema. Cuando añado componentes DBxxx al DBCtrlGridSSE y conecto con una tabla, funciona todo bien. Se pueden crear registros, borrar, editar, etc. El problema está en el repintado del TDBComboBoxSSE. Mientras que en la línea activa (seleccionada en este momento), el DBComboBoxSSE pinta correctamente el botón, en el resto de las líneas el botón que aparece es el del TDBComboBox estándard. Es decir, parece que llama al pintado del estándard pero no al del TDBComboBoxSSE.
He modificado el evento WMPaint del DBCtrlGridSSE para forzar a que se utilice el pintado del TDBcomboBoxSSE y nada, no pinta el botón en los otros registros. También he probado a hacerlo en el evento OnPaintPanel y tampoco.
¿Como podría hacer para que se utilizara el evento de pintado del DBComboBoxSSE en vez del DBComboBox estándard? ¿Que otra solución tendría?
Un saludo.
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:11:46.


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