記事カテゴリ

ユーザー機能


 2024年5月 2日(木) 13:12 JST

[Delphi] DateTimePicker の書式変更

  • 投稿者:
  • 表示回数
    9,201

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;

トラックバック

このエントリのトラックバックURL:
https://www.blackcat.xyz/trackback.php/ProgramingFAQ_del0028

以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。