超出屏幕范围为何不能画宽度为 1 的竖线?(50分)

Z

zwhc

Unregistered / Unconfirmed
GUEST, unregistred user!
Win98,显示器为 800*600

Form 上放一个 TScrollBox,TScrollBox 里面放一个 TImage

Button1 中代码如下:
image1.Width := 900;
image1.Canvas.MoveTo(785,5);
image1.Canvas.LineTo(785,20);
image1.Canvas.MoveTo(805,5);
image1.Canvas.LineTo(805,20);
ScrollBox1.HorzScrollBar.Position := 760;


结果不能画出第二条线。有的机器上却可以画出。
另外,如果将 image1.canvas.pen.width := 2 却可画出,
请告知为何如此,该如何解决?
 
先不放在scrollbox试试
 
TImage.Canvas is only available if the Picture property represents a bitmap.
---->image1.Width := 900;
Image.picture 此时仍然是空的
当然画不出东西
 
在屏幕上也一样

可以画第一条线,也可以 TextOut,但无法画第二条线
 
也许是的确和机器有关。我测试了一下在我的机器上没有问题,java也是有这个问题的
觉得应该是delphi底层的问题,是否可以加上image1.update
用api测试一下看如何?如果可以,呵呵,只好去borland抱怨了。

 
接受答案了.
 
顶部