在pannel上放一个image和二个scrollbar
在scrollbar的onclick事件中利用scrollbar.position属性改变image的top,left
在scrollbar的onclick事件中利用scrollbar.position属性改变image的top,left
解决方案 »
- 请教...这段C代码如何转成delphi?
- 如何将数据库表中前几条记录合并显示
- 如何隐藏/显示StringGrid中的某一列
- 怎么处理有返回值的存储过程???如:
- 急问~大大们帮忙啊!如何将QRMemo中的内容精确的打印到自定义大小的标签纸上?
- 关于TClientSocket的问题
- ADOQuery的动态加入SQL语句的细节!
- 简单问题给60分:为什么在MessageBox是提示信息不能用变量?
- 关于dbgrid的奇难问题!!100分大奉送!!
- manboo以前解答的关于创建不则则窗体的程序有一个警告,大家都没发现吗?有人能改正吗
- 写出一个完整Sql语句
- 点击后,怎么将该行设为选择的行,怎样得到该行的某字段的值?
在formcreate中加入以下代码:
image1.width:=image1.picture.width;
image1.height:=image1.picture.height;
如果你的图片比scrollbox1要大,运行后你就能看到效果了.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtDlgs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Panel1: TPanel;
Image1: TImage;
Button1: TButton;
OpenPictureDialog1: TOpenPictureDialog;
ScrollBar1: TScrollBar;
ScrollBar2: TScrollBar;
procedure Button1Click(Sender: TObject);
procedure ScrollBar2Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
procedure ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then begin
image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
image1.Width:=image1.Picture.Width;
image1.Height:=image1.Picture.Height;
if image1.Width>panel1.ClientWidth then begin
ScrollBar1.Max:=image1.Width-panel1.ClientWidth+scrollbar2.Width;
ScrollBar1.LargeChange:=100;
ScrollBar1.Visible:=true;
end
else
ScrollBar1.Visible:=False;
if image1.Height>panel1.ClientHeight then begin
ScrollBar2.Max:=image1.Height-panel1.ClientHeight+scrollbar1.Height;
ScrollBar2.LargeChange:=100;
ScrollBar2.Visible:=true ;
end
else
ScrollBar2.Visible:=False;
end;end;procedure TForm1.ScrollBar2Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
image1.Top:=0-scrollpos;
end;procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
image1.Left:=0-ScrollPos;
end;end.