![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
preguntas sobre DBEDITS
Buenas noches..
tengo una consulta tengo varios dbedits, los cuales se activan o desactivan de acuerdo a algunas condiciones que se originan al salir del primer dbedit
pero al salir del primer dbedit.. el foco como que... se pierde el cursor desaparece y no se en que campo estoy hasta que escribo algo no se si me deje entender
__________________
Dulce Regalo que Satanas manda para mi..... |
#2
|
|||
|
|||
No sé si con esto te ayudo o no, pero por lo que entiendo, habilitas /deshabilitas unos edits en función de unas condiciones, y luego no sabes donde esta el foco, pero tú sí que sabes donde lo quieres tener verdad?
En tal caso fuerza tu el foco, porque el al cambiar el enabled supongo que pierde el taborder. para forzar el foco es
Bueno, si no es esto a lo que te referías perdona!!! ![]() |
#3
|
||||
|
||||
Gracias por la respuesta...
si se que puedo activar el foco con setfocus hago la instruccion pero al parecer delphi no le esta haciendo caso voy a seguir investigando
__________________
Dulce Regalo que Satanas manda para mi..... |
#4
|
||||
|
||||
En algunos hilos se ha hablado de un tema similar, por lo visto hay ocasiones que no se sabe el motivo, pero que ocurre eso, que no se ve el cursor, aunque tenga el foco, si escribes entonces aparece.
Los comentarios de distintos compañeros fueron similares y no hubo forma de encontrar un patrón que diera alguna pista, ocurría con distintas configuraciones, versiones varias de delphi, etc. A mí mismo me ocurre con una ventana (un form) del programa que estoy haciendo ahora, sin embargo no me ocurre con ninguna de las otras ventanas, siendo todas heredadas de una misma 'form plantilla'. La he dejado por imposible y he pensado tan sólo en cambiarle de color al entrar para que el usuario sepa que está ahí el foco, aunque eso implicaría cambiarlo en todo el programa, y no es algo que me apetezca hacer.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
mmm mis conocimientos no estan tan avanzados
pero si alguien se animara a hacer un componente Edit o TDBedit en el cual cuando se entre se coloque de un color y cuando se salga se coloque del color original... seria estupendo mmmm creo que mirare temas sobre creacion de componentes ![]() ![]()
__________________
Dulce Regalo que Satanas manda para mi..... |
#6
|
||||
|
||||
Bueno, en principio es sólo poner en el 'onEnter' algo así como 'Color:=clBlue' y en el 'onExit' volver a poner el color que tenía al entrar.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
||||
|
||||
en Visual Fox uno podia crear una Clase que se derivaba de un componente se le agregaban propiedades y se podia usar dentro de los formularios
con esto conseguia hacer por ejemplo edits con mascaras en delphi hay algo parecido?
__________________
Dulce Regalo que Satanas manda para mi..... |
#8
|
||||
|
||||
Realiza una búsqueda al respecto ..... seguro que encuentras miles de mensajes al respecto en los foros
![]()
__________________
Piensa siempre en positivo ! |
#9
|
||||
|
||||
Hola oscarac.
Cuando la propiedad Enabled de un control esta en False el control ignora el mouse y el teclado. Al salir del DBEdit, se envía el Foco al próximo control determinado por TabOrder, sin importar que el estado de este sea Disabled. Si el próximo control a la salida del DBEdit tiene su propiedad Enabled a True no se produce ese efecto. Una solución que se me ocurre, es utilizar este código para deshabilitar los DBEdits:
Ignoro cuando realizas las consultas y activas/desactivas los DBEdits, pero supongamos que lo haces en el evento OnExit del primer DBEdit que adjuntaste: Espero que te sirva o al menos te aporte alguna una idea. Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 03-05-2011 a las 18:34:02. |
#10
|
||||
|
||||
Oscara en el Ftp del club puedes encontrar un componente que cree hace meses, se llama ScreenColorcenter, eliges el color para cuando tenga el foco, lo sueltas en el form principal, en muy importante que lo actives al crearse el form y lo desactives al cerrar el form, ya que lo que hace es actuar sobre todos lo programas activos, cambiando el color al recibir el foco de varios componentes, sin tener que poner código, alguno.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#11
|
||||
|
||||
explico un poco mas lo que hago...
efectivamente tengo un primer dbedit en el cual solicito una cuenta contable, que de acuerdo a las caracteristicas de la cuenta, se activaran / desactivaran otros dbedits ya tengo un procedimiento que me ubica la cuenta y es algo como esto..
lo curioso es que he puesto que cuando entre al dbedit.. me cambie de color pasar saber que es lo que hace... y al salir del primer edit el flujo desaparece presiono ENTER de nuevo y nuevamente aparece en el primer dbedit despues de eso el flujo sigue normal si yo supiera que control se debe activar seria mas facil, pero eso depende de lo que mande la cuenta contable, ejemplo : Campos existente Centro de costos Area Presupuestos Obras Recursos Codigo de Anexo Flujo de Gasto si selecciono la cuenta 63 se activara centro de costos area presupuestos si selecciono la cuenta 42 se activara codigo de proveedor area si selecciono la cuenta 10 se activara Flujo de gastos espero que ahora se me entienda mejor gracias
__________________
Dulce Regalo que Satanas manda para mi..... |
#12
|
||||
|
||||
cosa curiosa
siguiendo con este tema
modifique el programa de tal manera que solo pase de un campo a otro y cuando pasa del primer edit al segundo el cursor desaparece (ya me esta volviendo loco)
__________________
Dulce Regalo que Satanas manda para mi..... |
#13
|
||||
|
||||
cosa rarisima
Utilice el componente que muy amablemente me menciono José Luis Garcí para tener una idea de donde es que va el foco, el asunto es que cuando activo/ desactivo los edits, luego de solicitar la cuenta contable, el foco "desaparece", es decir el edit no se pinta(lo que me indica donde esta actualmente el foco)
entonces al presionar enter... el foco regresa al primer edit y de ahi ya todo funciona bien... cosa rara no? a alguien le sucede o sucedio algo parecido?
__________________
Dulce Regalo que Satanas manda para mi..... |
#14
|
||||
|
||||
Hola oscara, acabo de probar el componente con un par de edit y grid y no me hace lo que me comentabas en el mensaje privado, no veo que afecte al grid, de todas maneras puedes cambiar el código de:
por
Lo que haría es si el componente es un Dbgrid (LLamo al ancestro de los Dbgrid, para que admita la mayor parte de ellos), no sigue y si es otro componente si. Me imagino ya que no lo he probado que deberas incluir la unidad Dbgrids.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#15
|
||||
|
||||
Por cierto Oscara, ten en cuenta que el componente va afectar a toda la aplicación y otras que estén activas en Windows, mientras este activo el componente, por eso es fundamental, activarlo al iniciarse la aplicación y desactivarlo una vez termines, ya que si no lo haces quedara activo en otras aplicaciones de Windows.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#16
|
||||
|
||||
Mientras intentaba resolver este problema y para saber qué control tiene el componente, lo que hice fue poner un ttimer y un tlabel, cada segundo escribía en el caption del tblabel el nombre del control con el foco, no recuerdo de memoria, pero creo que era algo así como:
De esa forma podía saber que aunque no se viera el cursor, el foco realmente estaba allí... y así maldecir con seguridad a delphi/¿windows? por no mostrar el cursor... hasta que pulsara alguna tecla.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#17
|
||||
|
||||
Hola ya se que hace muchos años de este hilo pero buscando solucion a un problema me lo he encontrado, no se si es demasiado tarde.
He descubierto que si muestro un application.messagebox, al salir del mensaje me hace lo que decis, en cambio si lo hago con un showmessage no lo hace. No se donde esta el problema pero he descubierto esto. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Preguntas sobre Codigos de Barras? | jamiguel77 | Impresión | 14 | 05-06-2012 22:19:50 |
Preguntas sobre TChart | Keating | Gráficos | 5 | 09-11-2010 19:50:54 |
preguntas sobre cursos | anubis | Debates | 1 | 12-12-2009 13:18:06 |
Dos preguntas sobre el DBLookUpComboBox | el_barto | Conexión con bases de datos | 2 | 23-06-2005 16:06:09 |
Más preguntas sobre servicios | vittorio | API de Windows | 1 | 27-12-2003 01:57:12 |
![]() |
|