procedure TForm1.Memo1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
if (source as TControl).Name = 'edit1' then
  accept:=true;
end;procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if button=mbleft then
(sender as tedit).BeginDrag(false);
end;procedure TForm1.Memo1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if (sender is Tmemo) and (source is tEdit) then
(sender as tmemo).Lines.Add((source as tedit).text);
end;procedure TForm1.Edit2MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if button=mbleft then
(sender as tedit).BeginDrag(false);
end;問題出在哪呢。?該怎麼改呢。?

解决方案 »

  1.   

    procedure TForm1.Memo1DragOver(Sender, Source: TObject; X, Y: Integer; 
      State: TDragState; var Accept: Boolean); 
    begin 
    if lowercase((source as TControl).Name) = 'edit1' then 
      accept:=true else Accept := false;
    end; procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; 
      Shift: TShiftState; X, Y: Integer); 
    begin 
    if button=mbleft then 
    (sender as tedit).BeginDrag(false); 
    end; procedure TForm1.Memo1DragDrop(Sender, Source: TObject; X, Y: Integer); 
    begin 
    if (sender is Tmemo) and (source is tEdit) then 
    (sender as tmemo).Lines.Add((source as tedit).text); 
    end; procedure TForm1.Edit2MouseDown(Sender: TObject; Button: TMouseButton; 
      Shift: TShiftState; X, Y: Integer); 
    begin 
    if button=mbleft then 
    (sender as tedit).BeginDrag(false); 
    end; 
      

  2.   

    这样改procedure TForm1.Memo1DragDrop(Sender, Source: TObject; X, Y: Integer);
    begin
      if (sender is Tmemo) and (source is tEdit) and (UpperCase((Source as TEdit).Name)='EDIT1') then
        (sender as tmemo).Lines.Add((source as tedit).text);end;