最新的ChinaCock组件包增加了日期输入控件CCDateTimePicker,支持各类日期、时间的输入,完美取代delphi自带的日期输入控件。如下图,输入日期的样式:

图文解说ChinaCock日期组件CCDateTimePicker(一)_控件

 具体来说,通过该控件的PickerType属性,目前支持以下类型的日期输入:

图文解说ChinaCock日期组件CCDateTimePicker(一)_背景色_02

例如:选择Year类型:只输入年度,如下图,非常简洁:

图文解说ChinaCock日期组件CCDateTimePicker(一)_背景色_03

 接下来,看一下具体的调用代码,同样方便:

CCDateTimePicker1.Show(
  //
    procedure(AResult: TModalResult; ADateTime: TDateTime)
    begin
      if AResult = mrOK then
      begin
        // 也可以直接访问self.CCDateTimePicker1.DateTime
       edtValue.Text:= FormatDateTime('yyyy年mm月dd日', ADateTime);
      end
      else
      begin
        self.Toast.ToastMessage('取消选择');
      end;
    end);

通过Show方法,加入回调函数,当用户点确定后,在这个回调方法中,我们可以使用用户选择的日期,当然,也可以直接用CCDateTimePicker的DateTime属性来取得用户输入的值。

默认情况下,输入界面是蓝色的风格,如果与你界面的风格不符,可以通过ThemeColor来控件,像上面的截图,我改成了SeaGreen,还可以进一步定制选择区的风格:

CCDateTimePicker1.themecolor := talphacolors.red; // 主题色
  CCDateTimePicker1.ClearButtonColor := talphacolors.red; // 清除按钮
  CCDateTimePicker1.ViewRectFillColor := talphacolors.Yellow; // 选中区域背景色
  CCDateTimePicker1.ViewRectStrokeColor := talphacolors.red; // 选中区域边框色