ソス@ソスソスソスXソスソスソス[ソスYソスノ包ソスソスソスソス鞫懶ソスソス}ソスEソスXソスナ一緒ソスノ難ソスソスソスソスソスソスノゑソス
|
ソスEC/C++
ソスEDelphi
ソスEVisual BasicソスソスソスSソスソス
ソス@(VB2-VB6ソスソス.NETソスソスソスp)
ソスEVisual Basic(VB2-VB6)
ソスEVisual Basic .NET
ソスEVisual C++
ソスEpapy's softwarelibrary
ソスソスソスLソスフプソスソスソスOソスソスソスソスソスヘ、ソスソスソスソスソスフ画像ソスtソス@ソスCソスソスソス動的ソスネコソスソスソス|ソス[ソスlソスソスソスgソスナ作成ソスソスソスAソスソスソスソスソステゑソス ソスソスソス轤オソスネゑソスソスソスcソスノ重ソスヒて包ソスソスラてゑソスソスソスソスト、ソス}ソスEソスXソスソスソスソスNソスソスソスbソスNソスソスソスソスソス鞫懶ソスソスソスソスノゑソスソスソス鞫懶ソスソス齒擾ソスノ難ソスソスソスソスソスソスvソスソスソスOソスソスソスソスソスナゑソス
(ソスvソスソスソスOソスソスソスソスソスフパソスX¥data¥ソスソス 0.bmpソス`9.bmpソスフ画像ソスtソス@ソスCソスソスソスソスソスソスソスソスソストまゑソス)
ソス皷橸ソスAソスレ的ソスフ擾ソスソスソスソスヘでゑソスソストゑソスソスソス謔、ソスネのでゑソスソスソスソスAソスヌゑソスソスソスソストゑソスソスソスソスソスソスソスンゑソスソスAソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスネゑソスソスソスソスソスソスヘまゑソスソスワゑソスソスネのでゑソスソスソスソスAソス痰ヲソスホ、ソスソスヤ会ソスソスソスソス逑ョソスソスソスソスソスソスソス鼾ソスAソスニてゑソスJソスNソスJソスNソスソスソスソスソスソスソスソスソスソスソスソスソスノなゑソスソストゑソスソスワゑソスソスワゑソスソスBソスソスソスソスソスソスソスソスXソスソスソス[ソスYソスノ難ソスソスソスソスソスソスネゑソスソスソスフでゑソスソス蛯、ソスソスソスH
ソスソスソスソスXソスpソスCソス_ソス¥ソスソスソスeソスBソス^ソスソスソスソスソストゑソスソスソスワゑソスソスト、ソスソスソス¥ソスソスソスソスソスソスソストゑソスソスソスソスフでゑソスソスソスソスAソスソスソスフ包ソスソスソスソスソスソスソスソスワゑソスソスソスソスソスソスソスソスソスソスソスソストゑソスソスソスワゑソスソスBソスヌゑソスソスソスソスソスしソスソスソスソスソス閧「ソスvソスソスソスワゑソスソスB
(ソスOソスノゑソスソスソス竄ウソスソスソストゑソスソスソスソスソスソスソスソスワゑソスソスソスソスBソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスソスソスB)
ソスツ具ソスソスFWindowsXP SP3 Delphi7 professional
ソスネ会ソスソスRソス[ソスhソスナゑソスソスB
public
{ Public ソス骭セ }
Orgpoint:Tpoint;
Drawing: Boolean;
IM:Array of TImage; //Imageソスフ撰ソス
procedure IMMouseDown(Sender:TObject; Button:TMouseButton; Shift:TShiftState; X,Y:Integer);
procedure IMMouseMove(Sender:TObject; Shift:TShiftState; X,Y:Integer);
procedure IMMouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.DoubleBuffered := True; //ソスOソスノゑソスソスソスソスソスソスソスソスソスソスワゑソスソスソスソスIソスソスソスソスツゑソスソスhソス‾
end;
procedure TForm1.Button1Click(Sender: TObject);
var
I:Integer;
TPath:String;
begin
TPath:=ExtractFilePath(Application.EXEName)+'data¥'; //ソス鞫懶ソスフ難ソスソスソスソストゑソスソスソスpソスX
SetLength(IM,10); //ソスソスソスIソスCソスソスソス[ソスWソスRソスソスソス|ソス[ソスlソスソスソスgソスpソスzソスソス成
For I:=0 to 9 do begin //ソスソスソスIソスCソスソスソス[ソスWソスソス成ソスソスソスネゑソスソスソスソスソスラてゑソスソスソス
IM[I]:=TImage.Create(Self); //Imageソス成
IM[I].Parent:=Self; //Imageソス成
IM[I].Picture.LoadFromFile(TPath+inttostr(I)+'.bmp');//ソス鞫懶ソスヌ搾ソス
IM[I].Visible:=True; //ソスeソスソス ソスン抵ソス
IM[I].Width:=70;
IM[I].Height:=100;
IM[I].Left:=100;
IM[I].Top:=I*20+10; //ソスc20ソステゑソス ソステらしソスネゑソスソスソス鞫懶ソスソス¥ソスソス
IM[I].Name:='I'+inttostr(I);
IM[I].OnMouseDown:=IMMouseDown; //ソス}ソスEソスXソスソスソスソスソスソスソスソスソスソスフ擾ソスソスソス
IM[I].OnMouseMove:=IMMouseMove;//ソス}ソスEソスXソス動ゑソスソスソスソスソスソスソスソスフ擾ソスソスソス
IM[I].OnMouseUp:=IMMouseUp;//ソス}ソスEソスXソス離ゑソスソスソスソスソスソスフ擾ソスソスソス
end;
end;
//ソス}ソスEソスXソスソスソスソスソスソスソスソスソスソスフ擾ソスソスソス
procedure TForm1.IMMouseDown(Sender:TObject; Button:TMouseButton; Shift:TShiftState; X,Y:Integer);
var
N,SX,SY:Integer;
Han:Boolean;
begin
Drawing:=True;
OrgPoint:=Point(x,y);
end;
//ソス}ソスEソスXソス動ゑソスソスソスソスソスソスソスソスフ擾ソスソスソス
procedure TForm1.IMMouseMove(Sender:TObject; Shift:TShiftState; X,Y:Integer);
var
PN:Array of TPoint;
S:String;
I,J:Integer;
begin
if Drawing=True then begin
S:=TImage(Sender).Name; //ソスソスソスソスソスソスソス鞫懶ソスフ厄ソスソスO
J:=StrToInt(Copy(S,2,1)); //ソスソスソスソスソスソスソス鞫懶ソスフ番搾ソスソスソス謫セ
SetLength(PN,10-J); //ソスソスソスソスソスソスソス鞫懶ソスソスソスソスフ画像ソスソス齒擾ソスノ難ソスソスソスソスソスソスソスソス゚の擾ソスソスソス
For I:=J to 9 do begin
PN[I-J]:=TImage(IM[I]).Parent.ScreenToClient(TImage(IM[I]).ClientToScreen(Point(X, Y))) ;
TImage(IM[I]).Left:=PN[I-J].X-Orgpoint.x;
TImage(IM[I]).Top:=PN[I-J].Y-Orgpoint.y;
end;
end;
end;
//ソス}ソスEソスXソス離ゑソスソスソスソスソスソスフ擾ソスソスソス
procedure TForm1.IMMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Drawing:=False;
end;
SetLength(PN,10-J); //ソスソスソスソスソスソスソス鞫懶ソスソスソスソスフ画像ソスソス齒擾ソスノ難ソスソスソスソスソスソスソスソス゚の擾ソスソスソス
For I:=J to 9 do begin
PN[I-J]:=TImage(IM[I]).Parent.ScreenToClient(TImage(IM[I]).ClientToScreen(Point(X, Y))) ;
TImage(IM[I]).Left:=PN[I-J].X-Orgpoint.x;
TImage(IM[I]).Top:=PN[I-J].Y-Orgpoint.y;
end;
ソスソスソスソスソスネゑソスナゑソスソスソスソスAソスPソスソスソスソスソスニに描ソス謔オソストゑソスソス驍ゥソスソスナは?
ソスソスUソスoソスbソスNソスOソスソスソスEソスソスソスhソスノ移難ソスソスソスフ擾ソスヤゑソス`ソス謔オソスト、
ソスソスナ茨ソスCソスノ表ソスソスソスソスソスソスホマソスVソスノなゑソスニ思ソスソスソスワゑソスソスソスB
>S:=TImage(Sender).Name; //ソスソスソスソスソスソスソス鞫懶ソスフ厄ソスソスO
>J:=StrToInt(Copy(S,2,1)); //ソスソスソスソスソスソスソス鞫懶ソスフ番搾ソスソスソス謫セ
ソスソスソスソスソスソスソス鞫懶ソス@ソスネので Down ソスナ費ソスソスfソスソスソスソス
Move ソスナ移難ソスソスフ度ソスノ ソスソスソスfソスソスソスソスKソスvソスネゑソス
>SetLength(PN,10-J); //ソスソスソスソスソスソスソス鞫懶ソスソスソスソスフ画像ソスソス齒擾ソスノ難ソスソスソスソスソスソスソスソス゚の擾ソスソスソス
>For I:=J to 9 do begin
>PN[I-J]:=TImage(IM[I]).Parent.ScreenToClient(TImage(IM[I]).ClientToScreen(Point(X, Y))) ;
>TImage(IM[I]).Left:=PN[I-J].X-Orgpoint.x;
>TImage(IM[I]).Top:=PN[I-J].Y-Orgpoint.y;
PN ソスzソスソスノゑソスソスソスKソスvソスネゑソスソスソスソスソスH
For I:=J to 9 do
ソス@begin
PN :=TImage(IM[I]).Parent.ScreenToClient(TImage(IM[I]).ClientToScreen(Point(X, Y))) ;
TImage(IM[I]).Left := PN.X-Orgpoint.x;
TImage(IM[I]).Top := PN.Y-Orgpoint.y;
ソスソスソスIソスmソスロゑソスソスソスネゑソス Down ソスソス
>ソス}ソスEソスXソスソスソスソスNソスソスソスbソスNソスソスソスソスソス鞫懶ソスソスソスソスノゑソスソスソス鞫懶ソスソス齒擾ソスノ難ソスソスソスソスソスソスvソスソスソスOソスソスソスソスソスナゑソス
ソスソスソスフ画像ソスソスソス齒擾ソスノ難ソスソスソスソスフは難ソスソス
ソスソスソスフまま難ソスソスソスソスソスソストゑソス@ソスXソスソスソス[ソスYソス@ソスノ難ソスソスソスソスソスソスヌ・ソスEソスEソスEソスE
ソスソスソスソスト位置ソスソスソスソスネゑソスソスト擾ソスノ擾ソスソスソストゑソスソスソスJソス[ソスhソスソスソスト趣ソスソスソスソスEソスEソスEソスE
ソスソスソスソスソスlソスAKHE00221ソスlソス@ソスヌゑソスソスソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソス
ソスソスソスwソスEソス頂ゑソスソスソスソスAIMMouseMoveソスフなゑソスソスフ擾ソスソスソスソスソス2ソスソスノ茨ソス処暦ソスソスソスソスソスソスソスソス謔、ソスノゑソスソスソスソスソスソスAソス¥ソスzソスネ擾ソスノ鯉ソスソスハゑソスソスナて、ソスソスソスネゑソスソスソスPソスソスソスソスワゑソスソスソスソスI
KHE00221ソスソスソスソスフゑソスソスソスソスソスソスソスソスハゑソスAPNソスヘ配ソスソスノゑソスソスソスKソスvソスSソスソスソスソスソスソスワゑソスソスソスナゑソスソスソスソスEソスEソスEソスソスソスハな擾ソスソスソスソスヘ省ゑソスソスソスソスソスソスソスソスソスソスソスソスナゑソスソスヒ!
ソスソスソスソスソスソス゚ゑソスソスソスソストゑソスソスワゑソスソスソスソスソスソスAソスソスソスワゑソスソスソスソスソスソスナゑソスソスソスソスソスソスナゑソスソスBソスSソスソスソスソスソス¥ソスソスソス繧ーソスワゑソスソスB
PS.WindowsXPソスtソスソスソスフスソスpソスCソス_ソス¥ソスソスソスeソスBソスAソスヘゑソスソスソスソスソスソスナゑソスソスヒ。ソスナ擾ソスソスフカソス[ソスhソスソスzソス骼橸ソス_ソスナ擾ソスソスソスソスフゑソスソスXソスsソス[ソスhソスソスソスソスノ奇ソスソスソスソストまゑソスソスB