首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下拉时在TDateTimePicker上设置日期

下拉时在TDateTimePicker上设置日期
EN

Stack Overflow用户
提问于 2014-08-18 07:55:46
回答 2查看 10.6K关注 0票数 1

我在Delphi6表单上有一个默认日期为30/12/1899年的DateTimePicker。我希望用户能够点击它或打开下拉日历,并选择当前日期。使用OnClick过程时:

DateTimePicker.Date :=日期

将可编辑部分中的日期设置为日期,当用户单击该日期或日历下拉按钮时,但不会强制日历自动选择今天的日期。如果在DateTimePicker的OnDropDown过程中使用此代码,结果是相同的。

我需要使用像in this post这样的东西来操纵日历吗?还是我错过了一个简单的财产?

谢谢马特

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-18 14:58:08

您可以通过MonthCal_SetCurSel直接更新月份日历窗口。

类似的情况(我将“默认”逻辑留给您处理):

代码语言:javascript
复制
uses Commctrl;

type TDateTimePickerAccess = class(TDateTimePicker);

procedure TForm1.DateTimePicker1DropDown(Sender: TObject);
var
  ST: TSystemTime;
  CalendarHandle: HWND;
begin
  DateTimePicker1.Date := Date;
  DateTimeToSystemTime(Date, ST);
  CalendarHandle := TDateTimePickerAccess(DateTimePicker1).GetCalendarHandle;
  MonthCal_SetCurSel(CalendarHandle, ST);
end;

就我个人而言,我会将默认日期设置为任何默认日期(Date)。

票数 6
EN

Stack Overflow用户

发布于 2014-08-18 10:33:17

我找不到解决您请求的现有属性。看起来你提供的链接解决了问题,但我还没有进行测试。

一个简单的"Hacky“解决方案如下所示。

代码语言:javascript
复制
procedure TFormMain.FormCreate(Sender: TObject);
var  DefaultDate : TDate;
begin
  //Set the default date
  DefaultDate := EncodeDate(1899, 12, 30);
  DateTimePicker1.MinDate := DefaultDate; //Use MinDate to store the default date
  DateTimePicker1.Date := DefaultDate;
end;

procedure TFormMain.DateTimePicker1DropDown(Sender: TObject);
begin
  //Only continue if the component is set to the default date
  if CompareDate(DateTimePicker1.MinDate, DateTimePicker1.Date) <> 0 then exit;

  //Hack: Change the DateTimePicker's Kind Type to disrupt the current drop down event
  DateTimePicker1.Kind := dtkTime;
  DateTimePicker1.Kind := dtkDate;

  //Change to today
  DateTimePicker1.DateTime := now;

  //Send a message to the drop down the calander once again
  SendMessage(DateTimePicker1.Handle,WM_SYSKEYDOWN,VK_DOWN, 0);
end;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25358615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档