大家来看看这个软件的图标拖动功能怎么实现的?今天用了一个软件觉得上面图标拖拽功能真是不错可惜不会做 =^_^= 。当用户拖拽图片到一个窗口、子窗口、控件、松开鼠标之后响应事件,有会做的朋友把源码发出来下,不要说纯理论 =^_^= ,万分感谢。那个软件下载地址 http://www.onlinedown.net/soft/41046.htm  (华军的下载地址) 1.71 MB   

解决方案 »

  1.   

    大概是这样,之前的装备两张鼠标按下后和着正常状态的图片(bmp),和鼠标按下后的图案(cur)
    procedure TForm1.Image1MouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
      ImageList1.GetBitmap(0, TImage(Sender).Picture.Bitmap); // 显示按下的图片
      TImage(Sender).Invalidate; // 刷新图片
      Screen.Cursor := crNew; // 替换鼠标图案
    end;procedure TForm1.Image1MouseMove(Sender: TObject;
      Shift: TShiftState; X, Y: Integer);
    begin
      // TODO : 判断处理鼠标移动的位置
    end;procedure TForm1.Image1MouseUp(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
      ImageList1.GetBitmap(1, TImage(Sender).Picture.Bitmap); // 恢复原始图片
      Screen.Cursor := crDefault; // 恢复鼠标图案
    end;