类似ACDSee的图片缩放? Imgedit控件就有这个功能,使用起来很方便的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 兄弟对你这么好记得给分啊unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, jpeg, StdCtrls;type TForm1 = class(TForm) ScrollBox1: TScrollBox; Image1: TImage; Label1: TLabel; Label2: TLabel; procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); procedure FormMouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } Curp:TPoint; FSPoint,FPoint:TPoint; end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin FPoint.X:= (Sender as TImage).ClientToParent(Point(X,Y)).X; FPoint.Y:= (Sender as TImage).ClientToParent(Point(X,Y)).Y; FSPoint.X:=(Sender as TImage).Left; FSPoint.Y:=(Sender as TImage).Top;end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);var Form_X,Form_Y:Integer;begin// Form_X:=Image1.Left +ScrollBox1.Left + x; Form_Y:=Image1.Top + Scrollbox1.Top + y; Curp.X :=Form_X; CurP.Y := Form_Y; Label1.Caption := Inttostr(Form_x); if (ssleft in shift) then//按下鼠标左按钮 begin (Sender as TImage).Left:=FSPoint.X+ (Sender as TImage).ClientToParent(Point(X,Y)).X-FPoint.X; (Sender as TImage).Top:=FSPoint.Y+ (Sender as TImage).ClientToParent(Point(X,Y)).Y-FPoint.Y; end;end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin Curp.X :=X; CurP.Y := Y; label1.Caption := Inttostr(Curp.X);end;procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);var x,Y:Integer;begin If (Curp.X>Scrollbox1.Left) and (curp.X< (Scrollbox1.Left +Scrollbox1.Width)) and (Image1.Width <=2400) then begin X:=Curp.X -(Image1.Left +ScrollBox1.Left); Y:=Curp.Y -(Image1.Top +ScrollBox1.Top); Image1.Top := Image1.Top +y -Trunc(1.5*y); Image1.Left := Image1.Left +x-Trunc(1.5*x); Image1.Height := Trunc(1.5* Image1.Height); Image1.Width := Trunc(1.5*Image1.Width); end;end;procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);var x,Y:Integer;begin{ If (Curp.X>Scrollbox1.Left) and (curp.Y< (Scrollbox1.Left +Scrollbox1.Width)) and (Image1.Width <=ScrollBox1.Width) then begin Image1.Left := 0 ; Image1.Top := 0 ; Image1.Height := Scrollbox1.Height ; Image1.Width := Scrollbox1.Width ; end else If (Curp.X>Scrollbox1.Left) and (curp.Y< (Scrollbox1.Left +Scrollbox1.Width)) then begin } X:=Curp.X -(Image1.Left +ScrollBox1.Left); Y:=Curp.Y -(Image1.Top +ScrollBox1.Top); Image1.Top := Image1.Top +y -Trunc(0.8*y); Image1.Left := Image1.Left +x-Trunc(0.8*x); Image1.Height := Trunc(0.8* Image1.Height); Image1.Width := Trunc(0.8*Image1.Width);// end;end;procedure TForm1.FormCreate(Sender: TObject);begin DoubleBuffered:=true;end;end. delphi子窗体载入本地文本的问题 如何用专线网络把上级单位传过来的数据导入sql server数据库? 急!急!急!急!急!大家帮帮忙! TreeView的使用!在线等! Delphi如何通过代理服务器连接数据库(十万火急求教) listview的排序问题(在线等,请各位高人指点!) 大家做直方图、折线图、圆饼图用什么东东? Delphi帮助文档好烂啊! delphi中怎样实现查询数据集的连接? 请帮帮我!我的SQL Server7运行出错了。 挑战2----------如何在sqlserver2000中实现两个数据表的合并!!! Delphi如何远程访问Sybase、ORACLE数据库
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, jpeg, StdCtrls;type
TForm1 = class(TForm)
ScrollBox1: TScrollBox;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
procedure FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
procedure FormCreate(Sender: TObject);
private
{ Private declarations } public
{ Public declarations }
Curp:TPoint;
FSPoint,FPoint:TPoint;
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FPoint.X:= (Sender as TImage).ClientToParent(Point(X,Y)).X;
FPoint.Y:= (Sender as TImage).ClientToParent(Point(X,Y)).Y; FSPoint.X:=(Sender as TImage).Left;
FSPoint.Y:=(Sender as TImage).Top;
end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var Form_X,Form_Y:Integer;
begin
//
Form_X:=Image1.Left +ScrollBox1.Left + x;
Form_Y:=Image1.Top + Scrollbox1.Top + y;
Curp.X :=Form_X;
CurP.Y := Form_Y;
Label1.Caption := Inttostr(Form_x); if (ssleft in shift) then//按下鼠标左按钮
begin
(Sender as TImage).Left:=FSPoint.X+ (Sender as TImage).ClientToParent(Point(X,Y)).X-FPoint.X;
(Sender as TImage).Top:=FSPoint.Y+ (Sender as TImage).ClientToParent(Point(X,Y)).Y-FPoint.Y;
end;
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Curp.X :=X;
CurP.Y := Y;
label1.Caption := Inttostr(Curp.X);end;procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
var x,Y:Integer;
begin
If (Curp.X>Scrollbox1.Left) and (curp.X< (Scrollbox1.Left +Scrollbox1.Width))
and (Image1.Width <=2400) then
begin
X:=Curp.X -(Image1.Left +ScrollBox1.Left);
Y:=Curp.Y -(Image1.Top +ScrollBox1.Top);
Image1.Top := Image1.Top +y -Trunc(1.5*y);
Image1.Left := Image1.Left +x-Trunc(1.5*x);
Image1.Height := Trunc(1.5* Image1.Height);
Image1.Width := Trunc(1.5*Image1.Width);
end;
end;procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
var x,Y:Integer;
begin
{ If (Curp.X>Scrollbox1.Left) and (curp.Y< (Scrollbox1.Left +Scrollbox1.Width))
and (Image1.Width <=ScrollBox1.Width) then
begin
Image1.Left := 0 ;
Image1.Top := 0 ;
Image1.Height := Scrollbox1.Height ;
Image1.Width := Scrollbox1.Width ;
end
else
If (Curp.X>Scrollbox1.Left) and (curp.Y< (Scrollbox1.Left +Scrollbox1.Width)) then
begin }
X:=Curp.X -(Image1.Left +ScrollBox1.Left);
Y:=Curp.Y -(Image1.Top +ScrollBox1.Top);
Image1.Top := Image1.Top +y -Trunc(0.8*y);
Image1.Left := Image1.Left +x-Trunc(0.8*x);
Image1.Height := Trunc(0.8* Image1.Height);
Image1.Width := Trunc(0.8*Image1.Width);
// end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
DoubleBuffered:=true;
end;end.