운영자님
컴파일 에러는 안나타나는데여..
실행시키면 옮겨 지지가 않아여..
잉~~ 이상해여..
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm2 = class(TForm)
ListBox1: TListBox;
ListBox2: TListBox;
procedure ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ListBox2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
var
DragItem : string;
{$R *.DFM}
procedure TForm2.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
ItemIndex : Integer;
begin
if Button = mbLeft then
begin
ItemIndex := ListBox1.ItemAtPos(Point(X, Y), True);
if ItemIndex >= 0 then
begin
ListBox1.BeginDrag(False);
DragItem := ListBox1.Items[ItemIndex];
end;
end;
end;
procedure TForm2.ListBox2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if Source = ListBox1 then
Accept := True
else
Accept := False;
end;
procedure TForm2.ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer);
var
Index : Integer;
begin
Index := ListBox2.ItemAtPos(Point(X, Y), True);
if Index >= 0 then
ListBox2.Items.Insert(Index, DragItem)
else
ListBox2.Items.Add(DragItem);
ListBox1.Items.Delete(ListBox1.Items.IndexOf(DragItem));
end;
end.
어디가 틀렸는지 봐주세여..
잉~~ 모르겠어여..
운영자님 넘 죄송해여..
델파이 완전 초보라서여..
꼭 봐주세여..
저 기다리구 있겠습니다..
이벤트를 링크시켜주세요.
ListBox1의 OnMouseDown이벤트에 ListBox1MouseDown을 링크시켜주고,
ListBox2의 OnDragOver이벤트에 ListBox2DragOver을 링크시켜주고,
ListBox2의 OnDragDrag이벤트에 ListBox2DragDrop을 링크시켜 주세요.
쩝 글구 여기 운영자님은 이정욱님이십니다. 어쩐지 제가 운영자를
사칭하는 것 같아서......
^^ 항상 즐코하세요...