cxDateNavigator1 将周末文本颜色设置为红色
cxDateNavigator1 set weekend days text color in red
在TcxDateNavigator
中,是否可以用不同的文本颜色(红色)标记周末(周六、周日)?
TMS 实现了此功能,但我似乎无法在此 DevExpress 组件中找到它。
至于cxDateNavigator
,可以使用它的OnCustomDrawDayNumber
事件处理器,例如,如下:
uses
DateUtils, cxDateUtils;
procedure TForm60.cxDateNavigator1CustomDrawDayNumber(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDateNavigatorDayNumberViewInfo; var ADone: Boolean);
begin
if DayOfTheWeek(AViewInfo.Date) in [DaySaturday, DaySunday] then
begin
AViewInfo.Bold := True;
ACanvas.Font.Color := clGreen;
ACanvas.Brush.Color := clYellow;
end;
end;
我不建议你在周末使用红色,因为它通常表示假期。
如果您想知道您用鼠标指向的是哪个日期。您可以实施 OnMouseMove
事件:
procedure TForm60.cxDateNavigator1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
dt: TDateTime;
begin
dt := TcxDateNavigator(Sender).HitTest.Time;
if dt = NullDate then
Caption := 'You are pointing outside the calendar area'
else
Caption := 'You are pointing at ' + FormatDateTime(FormatSettings.LongDateFormat, dt);
end;
在TcxDateNavigator
中,是否可以用不同的文本颜色(红色)标记周末(周六、周日)?
TMS 实现了此功能,但我似乎无法在此 DevExpress 组件中找到它。
至于cxDateNavigator
,可以使用它的OnCustomDrawDayNumber
事件处理器,例如,如下:
uses
DateUtils, cxDateUtils;
procedure TForm60.cxDateNavigator1CustomDrawDayNumber(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDateNavigatorDayNumberViewInfo; var ADone: Boolean);
begin
if DayOfTheWeek(AViewInfo.Date) in [DaySaturday, DaySunday] then
begin
AViewInfo.Bold := True;
ACanvas.Font.Color := clGreen;
ACanvas.Brush.Color := clYellow;
end;
end;
我不建议你在周末使用红色,因为它通常表示假期。
如果您想知道您用鼠标指向的是哪个日期。您可以实施 OnMouseMove
事件:
procedure TForm60.cxDateNavigator1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
dt: TDateTime;
begin
dt := TcxDateNavigator(Sender).HitTest.Time;
if dt = NullDate then
Caption := 'You are pointing outside the calendar area'
else
Caption := 'You are pointing at ' + FormatDateTime(FormatSettings.LongDateFormat, dt);
end;