Anasayfa > Kodlar > Delphi ile sürüklemek

Delphi ile sürüklemek

çok kolay bir program ama labeli nasıl memonun içine sürükleriz diye düşünürseniz...


Formunuzun üzerine bir label, edit ve memo koymanız gerekiyor :=)

Daha sonra aşağıdaki kodu ilgili yerlere yazın.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Memo1: TMemo;
Edit1: TEdit;
procedure Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Label1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Edit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Edit1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
tasi:boolean;
sol,sag:integer;
implementation

{$R *.DFM}

procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
tasi:=true;
sol:=label1.left;
sag:=label1.Top;
end;

procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if (tasi) and (shift=[ssleft]) then
begin
label1.left:=label1.left+x;
//sadece yatayda hareket etmesini isteniyorsa aşağıdaki satırı geçersi kıl.
label1.top:=label1.top+y;
end;
end;

procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (label1.left>=memo1.left) and
(label1.left<=memo1.left+memo1.width-label1.width) and
(label1.top>=memo1.top) and
(label1.top<=memo1.top+memo1.height-label1.height) then
begin
memo1.lines.add(label1.caption);
//  label1.free;
label1.left:=sol;
label1.top:=sag;
end;
tasi:=false;
end;

procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
tasi:=true;
end;

procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if (tasi) and (shift=[ssleft]) then
begin
edit1.left:=edit1.left+x;
edit1.top:=edit1.top+y;
end;
end;

procedure TForm1.Edit1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (edit1.left>=memo1.left) and
(edit1.left<=memo1.left+memo1.width-label1.width) and
(edit1.top>=memo1.top) and
(edit1.top<=memo1.top+memo1.height-label1.height) then
begin
memo1.lines.add(edit1.text);
edit1.free;
end;
tasi:=false;
end;

end.

Betül Sabancı


TD Software


  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: