我尝试通过CalColors更改TMonthCalendar的设置,但是它不起作用。无论是在设计时还是在运行时。日历保持不变。
更新:
看起来有人在Quality Central上报告了完全相同的问题:
http://qc.embarcadero.com/wc/qcmain.aspx?d=53494
最佳答案
正如David所说,TMonthCalendar
内部使用MCM_SETCOLOR
消息来设置控件的颜色,但是当激活视觉样式时,此消息无效。作为解决方法,您可以使用SetWindowTheme
函数仅在此控件上禁用视觉样式。
试试这个例子:
uses
UxTheme;
SetWindowTheme(MonthCalendar1.Handle, '', '');
MonthCalendar1.CalColors.MonthBackColor:=clWebKhaki;
MonthCalendar1.CalColors.TitleBackColor:=clWebDarkOrange;