Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2008
NEG1414 NEG1414 is offline
Miembro
 
Registrado: mar 2007
Posts: 177
Poder: 18
NEG1414 Va por buen camino
Evitar que se "repinte" un componente

Mi Pregunta es si es posible evitar que un elemento "refresque" su imagen (Supongo que sera evitar que se ejecute el evento Paint)
Por ejemplo creo que al salir del evento KeyDown se repinta la Imagen del componente y me gustaria evitarlo.

Gracias.
Responder Con Cita
  #2  
Antiguo 13-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes derivar el componente y sobreescribir el método Paint o capturar el mensaje WMPaint; En ambos casos si eliminas el inherited, posiblemente evites el repintado, aunque no se si los resultados van a ser los deseados.

¿Puedes explicar exactamente para qué necesitas esto?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 13-11-2008
NEG1414 NEG1414 is offline
Miembro
 
Registrado: mar 2007
Posts: 177
Poder: 18
NEG1414 Va por buen camino
En primer lugar gracias por contestarme..

Respecto a tu respuesta hay conceptos que aun no conozco como el inherited.

Te explico lo que pretendo:

Tengo un ListBox en el que hay una serie de componentes que pueden estar ya elegidos (incluidos en un Stringlist) , el caso es que los Elementos ya elegidos se muestran en el listbox de diferente color a los no elegidos.Los elementos estan ordenados alfabeticamente.
Supongamos que pulsamos la tecla c (Cuando el foco lo tiene el ListBox) , el foco lo tendra que recibir el primer item del ListBox que empieze por la tecla c Y NO ESTE AUN SELECCIONADO.
Para ello capturo en el evento KeyDow del Listbox la tecla pulsada, realizo las operaciones necesaria para saber cual es el item que debe tener el foco y lo selecciono

Código Delphi [-]ListHistEquip->ItemIndex = Posicion;

Hasta Aqui to correcto el problema es que al salir del evento KeyDow el ListBox se repinta y el elemento que recibe el foco es siempre el primer item que comienze por C (este elegido o no).

Nota:una solucion seria realizar las operaciones para seleccionar el item en el evento KeyUp, pero el resultado no me convence por que en primer lugar recibe el foco el primer item que comienza por C (Evento KeyDow) y despues salta al item correcto (KeyUp) pero visualmente parece una chapuza.

Gracias
Responder Con Cita
  #4  
Antiguo 13-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En ese caso te puedo decir (asegurar) que lo que capturar/anular el repintado no te va a servir.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 13-11-2008
NEG1414 NEG1414 is offline
Miembro
 
Registrado: mar 2007
Posts: 177
Poder: 18
NEG1414 Va por buen camino
Alguna idea???
Responder Con Cita
  #6  
Antiguo 13-11-2008
NEG1414 NEG1414 is offline
Miembro
 
Registrado: mar 2007
Posts: 177
Poder: 18
NEG1414 Va por buen camino
Por si sive de ayuda el evento que no quieroque se realize es el
DrawItem
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como evitar que mis aplicaciones se "cuelguen" Gaim2205 Varios 6 21-05-2008 16:21:30
Al evitar que cierren Windows, me sale la ventana de error "Finalizar Tarea" :( Wonni API de Windows 1 20-08-2007 16:02:21
Evitar el "Refresh" del ClientDataSet leanfreue SQL 2 14-04-2007 23:41:38
Cinco normas para evitar el "phishing" marcoszorrilla Noticias 56 02-05-2006 21:07:55
Evitar navegar desde barra "Dirección" de MI PC Luis F. Orjuela API de Windows 1 10-02-2006 19:56:16


La franja horaria es GMT +2. Ahora son las 19:27:08.


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