要删除“今天”文本,您必须MCS_NOTODAY
在 DTP 的子月历上启用窗口样式。自 Internet Explorer 3 以来,该样式就已可用。
在TDateTimePicker::OnDropDown
事件中,您可以使用DateTime_GetMonthCal()
获取HWND
月历,然后使用SetWindowLong/Ptr(GWL_STYLE)
启用MCS_NOTODAY
样式。
#include <commctrl.h>
void __fastcall TMyForm::DateTimePicker1DropDown(TObject *Sender)
{
HWND hCalendar = DateTime_GetMonthCal(DateTimePicker1->Handle);
LONG_PTR style = GetWindowLongPtr(hCalendar, GWL_STYLE);
SetWindowLongPtr(hCalendar, GWL_STYLE, style | MCS_NOTODAY);
}
在 Vista 和更高版本上,您可以选择使用DateTime_SetMonthCalStyle()
来启用MCS_NOTODAY
样式。
DWORD style = DateTime_GetMonthCalStyle(DateTimePicker1->Handle);
DateTime_SetMonthCalStyle(DateTimePicker1->Handle, style | MCS_NOTODAY);