FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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. |
#3
|
|||
|
|||
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 |
#4
|
||||
|
||||
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. |
#5
|
|||
|
|||
Alguna idea???
|
#6
|
|||
|
|||
Por si sive de ayuda el evento que no quieroque se realize es el
DrawItem |
#7
|
||||
|
||||
¿ y si pones todo el código en el KeyUp?
dejando vacío el Keydown. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#8
|
|||
|
|||
Lepe parece una respuesta totalmente logica pero nada, hace exactamente lo mismo..
El problema radica en que en un ListBox con una lista de items si se pulsa una tecla el item seleccionado es el primero que comienza por esa tecla. Mi problema es que no quiero que el listbox opere de esa manera si no ser yo el que manualmente seleccione el item.. Y veo la solucion imposible... Gracias por contestarme. |
#9
|
||||
|
||||
En el listbox:
- extendedselect := false; - autocomplete := false - multiselect a true y en el evento onKeyPress: los items que tengo en la lista son: Código:
aaaas aaas aass ass bbb cccc ¿es eso lo que deseas? Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 14-11-2008 a las 00:04:20. |
#10
|
|||
|
|||
!!! Perfecto !!!
Muchas Gracias. |
|
|
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 |
|