如何在C++ Builder 6中从MonthCalendar控件获取日/月/年日期并应用于年龄计算器程序
在C++ Builder 6中获取MonthCalendar控件的选中日期
嘿,我对C++ Builder 6里的MonthCalendar控件可太熟悉了,这就手把手教你怎么拿到用户选中的日、月、年数据!
核心思路:利用TDateTime类型和日期拆分函数
MonthCalendar控件的选中日期是以TDateTime类型存储的,我们可以直接获取这个对象,再用C++ Builder自带的函数拆分出具体的日、月、年。
具体步骤和代码示例
比如你可以在一个按钮的点击事件里写这段代码,来测试获取日期:
#include <SysUtils.hpp> // 如果没自动包含的话记得加这个 void __fastcall TForm1::btnGetDateClick(TObject *Sender) { // 第一步:获取控件选中的日期 TDateTime selectedDate = MonthCalendar1->Date; // 第二步:拆分出日、月、年 int selectedDay = DayOfMonth(selectedDate); int selectedMonth = MonthOfYear(selectedDate); int selectedYear = YearOf(selectedDate); // 第三步:用这些值做你想做的事——比如弹出提示框显示 ShowMessage(Format("你选中的日期是:%d年%d月%d日", ARRAYOFCONST((selectedYear, selectedMonth, selectedDay)))); }
另一种方法:使用GetDateTime函数
如果你习惯用方法调用的方式,也可以用控件的GetDateTime方法来获取日期,效果和直接访问Date属性完全一样:
TDateTime selectedDate; MonthCalendar1->GetDateTime(selectedDate); // 后续的拆分代码和上面完全相同
额外提示:处理范围选择(如果需要的话)
要是你的MonthCalendar允许用户选择一个日期范围,那可以用SelStart和SelEnd属性分别获取范围的起始和结束日期,用法和Date属性一致。
内容的提问来源于stack exchange,提问作者Muhammad Ali
相关产品推荐
相关产品推荐

