image构件在98,2000,和xp下有问题吗?(50分)

  • 主题发起人 主题发起人 xmh_31
  • 开始时间 开始时间
X

xmh_31

Unregistered / Unconfirmed
GUEST, unregistred user!
我在image上写了一些字,在98,2000下可以正常显示,xp不行
写字符串的函数如下:
BookImage是Timage构件
procedure DrawString(X, Y, W, H: Integer; AText: String;
ASize: Integer; AColor: TColor);
var
StyleBack : TBrushStyle;
begin
with BookImage.Canvas do
begin
Font.Name := '宋体';
Font.Style := [];
Font.Pitch := fpFixed;
Font.Size := ASize;
Font.Color := AColor;
StyleBack := Brush.Style;
Brush.Style := bsClear;
TextRect( Rect(X,Y,X+W,Y+W) , X , Y , AText);
Brush.Style := StyleBack;
end;
end;

我先在窗体上放置了一个ScrollBox,然后在ScrollBox上放了一个Image,都是delphi带的标准构件
Image的大小是运行时刻指定的

不是所有的字都看不见,超过ScrollBox范围的,需要滚动的部门显示不出来字
98,2000,都没有问题,xp不行。

请大家帮忙,谢谢
 
顶一下,没人做过类似的吗?
 
手上没有XP 没法测试

估计和Form1.Width Form1.ClientWidth一类的问题吧
XP下的Form1.Width-Form1.ClientWidth大于2000 98的Form1.Width-Form1.ClientWidth
XP的标题栏宽。。。。
 
后退
顶部