如何带滚动条显示大的图片啊? ( 积分: 50 )

  • 主题发起人 主题发起人 dcjlin
  • 开始时间 开始时间
D

dcjlin

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,显示一幅大图片,可以用鼠标移动滚动条查看。用什么控件能实现呢?
 
ScrollBox1: TScrollBox;
 
将TImage放到TScrollBox里面,
TScrollBox会自动适应内部控件大小。
 
用Graphics32里的Imgview32
载入大图片速度很快的.
 
我用了TScrollBox控件了,但是还是没有出现滚动条啊。是不是要设置什么属性?
我设置了Image的Align为alClinet。其他的都没有什么变动啊,还不是不行哦。
 
是Align属性的问题。呵呵。

另外 To hxy2002 :
使用载入大图片时怎么使用 Graphics32里的Imgview32啊?
 
我设置了Image的Align为alClinet。其他的都没有什么变动啊,还不是不行哦。

设置Image的Align为alNone。大小为图片大小。
 
就是平常一样用啊。
Imgview32.Bitmap.LoadFromFile
就可以了
跟Image一样用啊
 
如果只是为了看到显示的效果建议在拖动ScrollBox时候显示应该显示到的一部分这样有利于提高图片的显示速度,提高性能
 
这的程序也有这个功能:
procedure TfrmMain.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssleft in Shift then
begin
DistanX:=ActX-X;
DistanY:=ActY-Y;
ScrollBox1.HorzScrollBar.Position:=ScrollBox1.HorzScrollBar.Position+DistanX;
ScrollBox1.VertScrollBar.Position:=ScrollBox1.VertScrollBar.Position+DistanY;
end;
end;

procedure TfrmMain.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ActX:=X;
ActY:=Y;
end;
 
后退
顶部