论坛里查到了.我用的是6.07 ,不过应该差别不大bsCalendar 单元,procedure TbsSkinMonthCalendar.DrawCalendar(Cnvs: TCanvas); 过程中…… for I := 0 to 6 do begin S := ShortDayNames[(Ord(FirstDayOfWeek) + I) mod 7 + 1]; // // if Length(S) > 4 then S := Copy(S, 1, 4); //将这一句注释就行了 // X2 := X + CellW div 2 - TextWidth(S) div 2; TextOut(X2, Y, S); X := X + CellW; end; ……如果要想的设计期间看到效果,要重新编译控件。运行期间正确无误。 来自:http://www.programbbs.com/bbs/view12-9007-1.htm
1、可能是设置的皮肤字体有问题。换个皮肤或取消皮肤试下,或者修改皮肤(SKIN.INI)相关配置。
2、取消皮肤字体影响后还出现上述情况的,可能是控件字体或默认字体设置过大引起的。
3、控件过短,不足以显示星期X字符。拉长试试。
你说的几种方法都试过,还是不行啦。
begin
S := ShortDayNames[(Ord(FirstDayOfWeek) + I) mod 7 + 1];
//
// if Length(S) > 4 then S := Copy(S, 1, 4); //将这一句注释就行了
//
X2 := X + CellW div 2 - TextWidth(S) div 2;
TextOut(X2, Y, S);
X := X + CellW;
end;
……如果要想的设计期间看到效果,要重新编译控件。运行期间正确无误。
来自:http://www.programbbs.com/bbs/view12-9007-1.htm