DateTimePicker の書式を用途に応じて変更したくはないか?
Delphi の日付の書式は通常 LongDateFormat、ShortDateFormat 変数を変更するのだが、DateTimePicker はこの方法で変更できない。DateTimePicker には、Delphi の日付書式設定が全く効かない。
また、DateTimePicker のプロパティには、Short と Long の二通りの設定しかなく、年月だけ表示したい場合などやや柔軟性に欠ける。
従って、変更には以下の方法を使用することになる。
このときの書式には Delphi の書式ではなく、Windows の日付書式を使用することになる。また commctrl ユニットを uses 節に追加する必要がある。
※ Delphi で月をあらわす書式は "mm" だが、Windows では "MM" となる。
uses commctrl; procedure ChangeDateFormat; var szFormat: PChar; begin szFormat := 'yyyy/MM/dd'; // Windows の日付書式 SendMessage(DateTimePicker1.Handle, DTM_SETFORMAT, 0, longint(szFormat)); end;