2010-11-20 40 views
9

Làm cách nào tôi có thể hiển thị "TDateTimePicker" trống trong Delphi 2010 (tức là, ẩn hiển thị ngày để điều khiển xuất hiện trống). Tôi biết về các trick của thiết lập các định dạng để hiển thị thời đại, nhưng với Delphi 2010 chạy trên Windows 7 chuỗi "A.D." xuất hiện trong sự kiểm soát khi tôi làm điều này.Hiển thị "trống" TDateTimePicker

Trả lời

13

thử đặt format thành giá trị khoảng trống.

DateTimePicker1.Format:=' '; 

và sau đó trong phương pháp OnChange thiết lập định dạng lại

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

Cảm ơn, công trình này hoàn hảo. Tôi sử dụng không gian duy nhất để ngăn chặn bất kỳ màn hình hiển thị và một chuỗi rỗng (không có không gian) để thiết lập nó trở lại định dạng mặc định. –

+5

Điều đó vẫn hoạt động để cho phép người dùng nhập ngày bằng bàn phím? –

+3

@Rob: điểm tốt ... nó không. –

1

Bạn cũng có thể thử:

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

Bằng cách đó nó trông cho người dùng cuối như một ngày là bắt buộc.

0

Tôi đã xem qua câu hỏi này khi tìm cách xem cách xử lý vấn đề này.

Tôi thực sự đang sử dụng TJvDateTimePicker chủ yếu vì nó hiển thị số tuần trong trình đơn thả xuống. Tôi sẽ sử dụng 'mẹo định dạng' được đề xuất bởi @RRUZ, nhưng đã tìm thấy rằng TJvDateTimePicker bao gồm một vài thuộc tính được xuất bản thêm, NullDateNullText được sử dụng để triển khai "lừa định dạng".

Trong constructor hình thức của tôi Tôi đặt mã:

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

Tất cả dường như làm việc như bạn mong muốn.

Các vấn đề liên quan