2010-11-20 7 views
9

¿Cómo puedo mostrar un TDateTimePicker "vacío" en Delphi 2010 (es decir, ocultar la visualización de la fecha para que el control aparezca vacío). Sé sobre el truco de configurar el formato para mostrar la época, pero con Delphi 2010 ejecutando en Windows 7 la cadena "A.D." aparece en el control cuando hago esto.Mostrar "vacío" TDateTimePicker

Respuesta

13

intente configurar el format en un valor de espacio en blanco.

DateTimePicker1.Format:=' '; 

y luego en el método OnChange establecer el formato de nuevo

procedure TForm1.DateTimePicker1Change(Sender: TObject); 
begin 
DateTimePicker1.Format:=ShortDateFormat; 
end; 
+2

Gracias, esto funciona a la perfección. Uso el espacio simple para suprimir cualquier pantalla y una cadena vacía (sin espacio) para volver a establecer el formato predeterminado. –

+5

¿Eso todavía funciona para permitir que el usuario ingrese una fecha con el teclado? –

+3

@Rob: buen punto ... no es así. –

1

También puede probar:

DateTimePicker1.Format := '__/__/____'; 

De esa manera se ve al usuario final como se requiere una fecha.

0

Me encontré con esta pregunta cuando busco ver cómo manejar esto.

En realidad estoy usando un TJvDateTimePicker principalmente porque muestra los números de semana en el menú desplegable. Iba a usar el 'truco de formato' sugerido por @RRUZ, pero encontré que el TJvDateTimePicker incluye un par de propiedades adicionales publicadas, NullDate y NullText que se usan para implementar el "truco de formato".

En el constructor de mi forma I coloque el código:

dtpOne.NullDate := 0; 
dtpOne.NullText := ' '; // empty string doesn't work 

Todo parece funcionar como era de esperar.

Cuestiones relacionadas