![]() |
Tachar una palabra en delphi
Holas tengo un checkboxlist ..quisiera que cada vez que selecciono un item y presiono un boton ...ese item se tachara es decir que salga una linea al medio de el item..gracias por sus respuestas...:D
|
Seguramente lo más fácil es derivar el componente estandard para modificar el comportamiento del Paint.
Si miras el componente TCheckListBox, verás que hay el siguiente método:
Que tiene muy buena pinta de servir para lo que necesitas. Una prueba rápida... Si derivamos el componente y simplemente añadimos estas líneas veremos que el comportamiento se acerca bastante a lo que necesitas:
Se ve algo como esto. Falta pulirlo, pero creo que por ahí puedes conseguir lo que necesitas... ![]() Un saludo. |
Aunque la forma sugerida por Neftalí es valida, tengo otra alternativa.
Primero, establece la propiedad Style del CheckListBox a lbOwnerDrawFixed. Luego en el evento OnDrawItem utilizá un código similar a este:
El código anterior tachará el texto del primer elemento de la lista. Saludos. |
Hola...
También puedes usar la propiedad Style con el valor fsStrikeOut de la clase TFont y el evento OnDrawItem:
![]() Tienes que poner la propiedad Style del componente en lbOwnerDrawFixed. También, como comenta Neftalí, hay que pulir algunas cosas. Saludos... P.D. Vaya, tuve la misma idea que Chris... :D :D :D |
Cita:
En este caso te evitas derivar el componente. ^\||/ |
Holas..gracias por sus respuestas tamebin en innosetup se utiliza el fsStrikeOut como seria con un checkboxlist cada vez que chekea y despues presiona el boton para que aparezca el tachado..gracias por sus respuestas
|
Hola.
Aunque no es muy diferente a los códigos anteriores (generalmente es así :)), otra variante:
Saludos. |
Holas ..gracis por su respuesta
asi agregue el codigo para el innosetup
|
Hola...
Deberías indicar desde un principio que estás usando Pascal Script en InnoSetup, y esto es por que en Pascal Script no se tienen todas las características del lenguaje Delphi. Como por ejemplo, el acceso a la propiedad Canvas de las clases visuales integradas. Explica un poco mejor que es lo que estás tratando de lograr desde tu instalador y tal vez se te pueda dar mejores soluciones. Saludos... |
Hola.
Agregando algo a lo que te explica maeyanes (que no es lo mismo Delphi que Pascal Script), aquí: Pascal Scripting: Support Classes Reference, encontrarás los detalles de las clases soportadas. Saludos. |
Disculpa por no haberme explicado mejor..el codigo esta en innosetup
tengo una lista de cheboxlist y con un boton cada vez que que chekeo y hago click en el boton se tacha el item del checkboxlist ...aki tengo un codigo donde ya recibo el indice que chekeo.. en esta funcion el inidce es el i..el problema que cuando compilo me sale ke no reconoce canvas. //como ya recibo el inidice del checkbox chekeado que es i y otra vez pregunto si esta chekeado...al compilarlo me sale que no reconoce canvas..gracias por tu respuesta..:D
|
Hola...
No estoy seguro de que esto funcione, pero podrías intentar algo así:
Saludos... |
|
Holas en intentado de esta manera :
pero sale que no se puede llamar a ese procedimiento..gracias por sus respuesta
|
Tachar un item del checkboxlist en inno setup
Holas tengo un checboxlist creado de forma dinamica y un boton ....al chekear el checkbolist y el presionar el boton me deberia aparecer tachado el check ckekeado segun los compañeros de este foro es con este codigo de abajo y esta bien si funciona si tacha..pero yo quiero solo items especificos del check..esdecir no se como recuperar el indice del checbokslist para que tache ese item seleccionado..gracias por respuestas...:D
|
Hola...
Ya tienes un hilo abierto (Tachar una palabra en delphi) donde se te está respondiendo al respecto. No creo que sea buena idea que abras otro hilo para tratar sobre el mismo tema. Saludos... |
Cita:
Ya combiné ambos hilos, gracias por señalarnoslo. ;) Saludos. :) |
Hola...
Prueba de esta forma:
Saludos... |
Holas..gracias por la respuesta
lo que no reconoce este codigo ..sale este error en esta linea 'cool no call proc',..gracias por tus respuestas:o
|
Por favor ....alguna respuesta..gracias:D
|
| La franja horaria es GMT +2. Ahora son las 09:25:23. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi