FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#21
|
||||
|
||||
Inherited ejecuta el método que se llama igual en su ancestro. Puesto que el TCoolEdit deriva de un TEdit, lo que hace es ejecutar el método con el mismo nombre en la clase TEdit. En plata: Lo que se hace es un puente, para que todo el código escrito en la clase TEdit, sirva para el TCoolEdit. En este caso: se le ha de pasar el parámetro AOwner al Tedit, por eso se le añade el nombre del método (Create) y el parámetro AOwner. 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: 13-12-2006 a las 19:51:37. |
#22
|
|||
|
|||
Respuesta a Delar
Hola Delar :
Respondiendo a tu pregunta, Inherited es la palabra reservada que implica la herencia. En el caso de SetFocus y KillFocus (que es a los Inherited que creo estas refiriendote) heredan el comportamiento del metodo del ancestro; a seguir le agregué lo que me interesaba que hiciera, pero fijate que si no lo pones (al inherited) cuando el componente reciba el foco no vas a ver el cursor y no se pintará el texto que haya adentro si es que lo hay. Hacele pruebas y mirá que resultados te dá. Aunque de todos modos capaz que alguien atine a que haga lo que debe hacer sin la palabra reservada Inherited De todos modos; como estoy trabajando con RePaint, tal vez sea esa la causa de verme obligado a utilizar Inherited. Como te decía antes, hace pruebas y fijate si encontras alguna otra forma. Espero que te aclare el panorama y suerte. EDGARDO - Córdoba - Argentina |
#23
|
|||
|
|||
Hola pascalutn2003,
He recopiado tu último código y he vuelto a instalar el mismo, si bien ahora cambia el color, lo hace en tiempo de diseño pero no así en tiempo de ejecución. Sería bueno quienes entienden sobre la programación de componentes te echen una mano para seguir adelante y finalizar tu componente. Última edición por Deiv fecha: 15-12-2006 a las 15:38:22. |
#24
|
|||
|
|||
Que raro...
Hola Deiv:
Fijate que he estado revisando el codigo, lo he desinstalado y vuelto a instalar y funciona bien. Las propiedades son: ColorFocus : Color de fondo con el foco ColorNoFocus : Color de fondo sin el foco FontColorFocus : Color de la fuente con el foco FontColorNoFocus : Color de la fuente sin el foco Por defecto y siempre al recibir el foco la letra se pone en negrita. Fijate nuevamente por favor y si no te funciona no se que pueda ser, seria bueno que otros amigos del club lo probaran y me dijeran si les pasa lo mismo. Nuevamente el codigo que acabo de compilar y que tengo funcionando en mi maquina
|
#25
|
||||
|
||||
Pues yo lo acabo de instalar y aparentemente funciona, es decir, tengo varios CoolEdit en una forma y al navegar entre ellos con la tecla Tab cambian su color al recibir el foco. Bueno fue una prueba muy superficial pero al menos no me pasa los mismo que indica Deiv.
Saludos |
#26
|
|||
|
|||
Bueno no sé como explicar, pero lo que sucede es que para desinstalarlo, primero que me fuí a Install Packages y busqué COOL, y no había, luego entonces reinstalé, ahí ya me salió un mensaje que ya existía duplicado, entonces en esa ventana que aparece Compile, Install, etc, ahi le dí Remove, si bien ya no veia al componente COOL en dicha ventana, pero seguía la pestaña de COOL entonces no se desinstaló, cosa mas rara, y cuando comprobé el componente, evidentemente trabajaba en tiempo de diseño pero no en tiempo de ejecución, algo debió truncarse imagino en mi máquina ya que si le funcionó a Randolph, entonces sí funca!
|
#27
|
|||
|
|||
Para Deiv
Hola Deiv:
El problema que podes llegar a tener es que cuando instalaste el componente lo hayas hecho en un paquete que ya existia. Te recomiendo hacer lo siguiente : 1.- Click en Component en el menu principal de Delphi 2.- Click en Configure Palette 3.- Una vez dentro del cuadro de propiedades de la paleta de componentes "Palette Properties", vas a ver dos listados (uno al lado del otro) 4.- En el listado de la izquierda anda hasta el final del listado y Click sobre [All] para que te liste los componentes en su totalidad sin importar a quien pertenecen 5.- En el listado de la derecha vas a ver dos titulo (Name y Package); Click sobre Name para ordenar alfabeticamente los componentes 6.- Busca el componente Cool 7.- Si lo encontraste, fijate en la columna mas a la derecha a que paquete pertenece. 8.- Una vez localizado el componente, cerrá todo 9.- Buscá y abrí el paquete en cuestion haciendo doble click sobre dicho paquete 10.- En el cuadro de Edicion del paquete vas a ver una serie de botones (Compile, Add, Remove, Install y Options) 11.- Click sobre Remove 12.- En el cuadro de dialogo Remove From Project Click sobre el componente que quieras eliminar, darle a Ok y listo; no hay mas componente. Ojo guardá los cambios en el paquete. 13.- Reinstala el componente en un paquete nuevo (dale vos un nombre) y compilalo. 14.- Suerte y cuidado con lo que eliminas del paquete Si tenes duda sobre algo avisame y te doy una mano EDGARDO - Córdoba - Argentina |
#28
|
||||
|
||||
Otro código parecido...
En su momento también necesite un código parecido, en mi caso no cambio el tipo de letra cuando el control está activo pero si el color del mismo permitiendo su selección desde el inspector de objetos.
Por otro lado, cómo la aplicación era de tamaño físicamente reducido decidí cargarme las etiquetas de cada TEdit y para que se supiera que era cada componente, decidí añadir una propiedad más DefaultValue que sirve para mostrar un texto por defecto en el caso que el usuario al salir del TEdit lo deje vacío (previamente tengo que decir que al entrar en el TEdit el text por defecto se borra para permitir al usuario introducir el valor que el quiera o no en función de la propiedad ClearOnEnter). Os dejo mi código:
Espero que alguien más a parte de mi pueda encontrar utilidad este "componente". Un saludo y gracias a todos. |
#29
|
||||
|
||||
Acabo de darme cuenta que el "uses MaskUtils;" no tiene mucho sentido o si, no lo sé en cualquier caso seguro que está ahi por algún intento de "evolución" y que puede ser eliminado sin problema.
|
#30
|
|||
|
|||
Para Hector
Hola master:
Acabo de instalarlo y probarlo. Sinceramente me gustó como lo encaraste, me habia olvidado de DoEnter y DoExit asi que voy a utilizar esa parte de tu codigo en el mio (me gusto mas). Ahora sigo con el problema de como realizar el cambio de fuente en activo y no activo usando los tipo TFontStyle. Tu codigo esta mejor porque contempla la propiedad Color para cuando esta inactivo, en cambio yo queria sacarmela de encima y no sabia como. En otros terminos, me gusto mas el tuyo. GRACIAS EDGARDO - Córdoba - Argentina Última edición por pascalutn2003 fecha: 16-12-2006 a las 17:43:06. |
#31
|
|||
|
|||
Cita:
8.- Bien cierro todas las ventanas. 9.- Busco en la pestaña del TabSheet de la PageControl donde estaba ubicado, pero ¿Donde doy doble click?? Le dí doble click a la pestaña, le dí doble click al componente y no sucede nada no aparece esa ventana que la conozco muy bien y se cómo utilizarla. 10.- Bueno finalmente he tratado de reinstalar el componente, así me salga el mensaje que existe un duplicado, y ahí aprovecho en REMOVErlo (11.-) cuando me aparece esa ventana(10.-) 12.- lo regrabo, pero cuando voy a la pestaña donde se encontraba el componente, por mucho que le haya dado Remove, por mucho que reinicio, SIGUE AHÍ y sigue trabajando! Bueno finalmente intenté por otro lado, he instalado un componente que no me hacía falta solo por abrir esa ventana, lo Remuevo, reinicio y evidentemente ya no está el COOL component. Para asegurarme he editado el código para que me aparezca en otra pestaña: Reinstalo el componente...... Y lo mas interesante es que se vuelve a instalar en la ANTIGUA PESTAÑA (Paquete) que estaba la última vez y no así en esta nueva de arriba, compruebo el código y ahora si trabaja muy bien. No sé si mi Delphi 7 está funcionando mal o el Componente hace algo en reinstalaciones. Pero de trabajar ahora trabaja muy bien. Última edición por Deiv fecha: 17-12-2006 a las 22:54:13. |
#32
|
||||
|
||||
Me alegra que te haya gustado
Siguiendo la forma de este componente lo lógico sería pensar en esta aproximación:
pero cuando fueras al Inspector de objetos y le dieras al botón [...] para asignar los valores correspondiente a tu fuente te llevarás una pequeña sorpresa; por así decirlo Delphi no sabe que hacer para asignar de forma correcta los diferentes campos del TFont, para que funcione correctamente creo que vas a tener que jugar con la unit DesignEditors para definir un Property Editor para la asignación del TFont desde el inspector de objetos. En cualquier caso y siendo un poco chapuzas, puedes poner algo del tipo:
Así lograrías poder cambiar el tipo de letra en tiempo de diseño para cada uno de los componentes de forma individual desde el propio inspector de objetos, y de este modo cada componente podría tener su tipo de letra diferente si eso tiene alguna utilidad... Este cutre-procedimiento lo puedes extender también para el resto de propiedades del TFont que quieras modificar... si así lo haces te recomiendo empezar todas esas propiedades por alguna palabra común por ejemplo: FuenteActivaNombre, FuenteActivaTamaño, FuenteActivaEstilo, ... así lo que lograrías es que todas las propiedades aparezcan en el inspector de objetos agrupadas. |
#33
|
||||
|
||||
Por si acaso estás tentado a preguntarme sobre esa unit y los editores de propiedades te recomiendo tanto la búsqueda por este foro de esos conceptos; como también, por ejemplo, la búsqueda en el google de: TPropertyEditor TFont Delphi el primer enlace trae ejemplos y te da dos referencias más para buscar: TFontNameProperty y TFontProperty... espero que te gusten las pruebas de ensayo y error como técnica de aprendizaje
Supongo que por mi parte ésta es toda la ayuda que te puedo ofrecer, pues poco he trabajado con los editores de propiedades. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ventana MDI, "Siempre visible" y "Pantalla completa" | ixMike | API de Windows | 7 | 11-04-2007 18:36:55 |
¿cuál es mejor: "close" o "application.terminate"? | unreal4u | Varios | 5 | 05-03-2007 11:01:19 |
"ChequeaEsto" elegido el futuro "Killer CLubDelphi" | mamcx | Noticias | 51 | 31-10-2006 20:56:32 |
porque no me reconoce los caracteres "*" ni "%" cuando filtro | mrmago | Conexión con bases de datos | 10 | 27-01-2006 04:21:16 |
Múltiples "Deshacer" en un editor de textos | soul6301 | Varios | 1 | 05-06-2004 21:38:37 |
|