Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   TimeDatePicker hacer foco en el dia (https://www.clubdelphi.com/foros/showthread.php?t=94149)

aromigaret 27-08-2019 21:17:56

TimeDatePicker hacer foco en el dia
 
Hola a todos, no he podido encontrar en el foro como resolver mi problema así que he aquí mi pregunta:
En una aplicación que estoy desarrollando, se ingresan los datos de comprobantes, entre otros datos, obviamente se ingresa la fecha, para ello utilizo un TimeDatePicker. Para el primer comprobante, el TimeDatePicker está inicializado en el día. Al modificar el día, el foco pasa al mes, luego paso al próximo campo a ingresar y así hasta el final de la carga. Cuando inicio la carga del siguiente comprobante, el foco del TimeDatePicker está sobre el mes. No logro que se inicie sobre el día, puede aparecer en el mes o año dependiendo donde quedo la última vez. ¿Alguien tiene idea de cómo lograr que el foco se inicie sobre el día? La única forma que se me ocurrió, es volver a crear la variable TimeDatePicker para cada ciclo de carga, pero es una solución horrible. Aclaro que la carga de la fecha no es desplegando el calendario, ya que se hace con el teclado por practicidad. Desde ya muchas gracias.

Casimiro Notevi 27-08-2019 23:31:36

Cita:

Empezado por aromigaret (Mensaje 533279)
... crear la variable TimeDatePicker para cada ciclo de carga...

Tendrás que explicar un poco más y poner código, porque así no se entiende lo que dices.

manelb 28-08-2019 08:49:57

En su día tuve ese mismo problema y la única forma que encontré de que el componente se situara en el día(primera posición) fue abriendo el calendario con el ratón o con el teclado y pulsando ESC para cerrarlo nuevamente.

Entonces lo que hice fue simular por programación ese comportamiento enviando las pulsaciones de teclas correspondientes al componente.
Seria ctr+flechaabajo y después ESC.
El efecto es tan rápido que el usuario no lo percibe, y yo conseguía el efecto deseado.

Desde luego la solución es muy cutre :rolleyes:, pero en su día me funcionó.
Seguro que alguien te ofrece una solución más eficiente…

Saludos a todos.

manelb 28-08-2019 09:02:29

Bueno..., parece que lo mio son las soluciones cutres :D

Esto también funciona.
Código Delphi [-]
  DateTimePicker1.dateformat:=dfLong;
  DateTimePicker1.dateformat:=dfShort;
  DateTimePicker1.SetFocus;

De todas formas confío en que alguien nos de "La Respuesta"

Saludos

aromigaret 30-08-2019 15:06:18

Hola manelb,
muchisimas gracias, tu truco funcionó perfectamente.
Como decis, mientras esperamos La Respuesta, la tuya es la ideal.
Abrazos


La franja horaria es GMT +2. Ahora son las 13:41: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