TMlSkinCalendar

日历控件,直接铺在界面上显示月历,可以自绘单元格做成带事件标记的日程表。

分类
输入框与日期
所在单元
uMlSkinCalendar.pas
继承自
TMlSkinCustomPanelTMlSkinCustomControl

用法要点

  • 显示的年月用 YearMonth 设置,FocusDay 是当前选中的日期。
  • 表头(星期行)和单元格的颜色、字体分开设置:HeaderColorHeaderFontCellColorCellFont
  • 点击某一天触发 OnCellClick;要在格子里画标记(如有日程的日期加个小圆点),用 OnCellDrawing 自绘。
  • 星期文字用 TextSuTextSa 自定义,方便做多语言。

属性 24

名称类型默认值说明
HolidayTextColorTColor周末(休息日)日期的文字颜色。
HeaderColorTColor表头(星期行)的底色。
HeaderFontTFont表头文字的字体。
HeaderHeightInteger表头的高度(像素)。
CellColorTColor日期格子的底色。
CellFocusColorTColor选中日期格子的底色。
CellFontTFont日期文字的字体。
TextSustring星期日的表头文字。
TextMostring星期一的表头文字。
TextTustring星期二的表头文字。
TextWestring星期三的表头文字。
TextThstring星期四的表头文字。
TextFrstring星期五的表头文字。
TextSastring星期六的表头文字。
YearWord当前显示的年份。
MonthWord当前显示的月份(1~12)。
FocusDayWord当前选中的日期(几号)。
PaddingInteger日历内容与控件边缘的间距(像素)。
FrameColorTColor边框颜色。
MaxDateTDate可选择的最晚日期。
MinDateTDate可选择的最早日期。
AlphaByte192透明度,0 为完全透明、255 为不透明。
BorderSidesTSides画哪几条边框(上、下、左、右可任意组合)。
BorderColorTColor$00D9CBBA边框颜色。

事件 3

名称类型默认值说明
OnCellClickTCellClickEvent点击某个日期格子时触发,参数里带着被点的日期。
OnCellDrawingTDrawCellEvent绘制日期格子时触发,可以在格子里自己画标记(如有日程的日期加圆点)。
OnChangedTNotifyEvent状态或数值改变后触发。
TMlSkinCustomPanel 的属性 1
名称类型默认值说明
ColorTColorclWhite控件的底色。Transparent 打开时不生效。
TMlSkinCustomPanel 的事件 1
名称类型默认值说明
OnCustomDrawTMlCustomDrawEvent自绘事件,可在控件画完后继续绘制自己的内容。
TMlSkinCustomControl 的属性 5
名称类型默认值说明
AboutTMlAboutInfo设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。
TransparentBooleanTrue背景是否透明。打开后控件不画自己的底色,直接显示窗体的背景(图片或颜色)。
ColorTColorclWhite控件的底色。Transparent 打开时不生效。
AutoInvalidateBooleanFalse内容变化时是否自动重绘。动态改属性看不到变化时可以打开。
EraseBackgroundBooleanFalse绘制前是否擦除背景。界面闪烁时可以调整这个开关。
TMlSkinCustomControl 的事件 4
名称类型默认值说明
OnDPIChangedTMlDPIChangedEvent屏幕 DPI 改变时触发(例如窗口被拖到另一块不同缩放的显示器上),可在这里重新调整自绘内容。
OnBackgroundChangingTMlBackgroundEvent背景即将改变时触发,可在这里干预要绘制的背景。
OnBackgroundChangedTMlCustomDrawEvent背景绘制完成后触发,可在背景之上继续自绘内容。
OnVisibleChangedTNotifyEvent控件显示或隐藏时触发。

本页只列出 MlSkin 新增的属性和事件;Align、Anchors、Font、OnClick 等标准 VCL 属性同样可用,用法与原生控件一致。

离线帮助文档需要离线查阅时,可下载 PDF / CHM 版帮助文档。