用mousedown事件后,自动的跳到了mouseup事件,然后才执行mousemove事件,这样我做出来的拖动效果很差
希望dowm后,move,然后up
要实现拖动图形的效果,要用其他的事件么?例如dock,drag,有谁可以讲一下

解决方案 »

  1.   

    系统本来就是DOWN→MOVE→UP这个顺序啊
      

  2.   

    好像不是啊
    用下面的程序测试 ,down,up,move
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls;type
      TForm1 = class(TForm)
        Image1: TImage;
        procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
        procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
       down:boolean;
    implementation{$R *.dfm}procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
       showmessage('down');
       down:=true;
    end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
     if down then
      showmessage('move');
    end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      showmessage('up');
    end;end.
      

  3.   

    把showmessage改为Caption := 'xxxx'
    在mouseup中加上down := False;
      

  4.   


    现在楼主知道是什么原因了吧
    这种情况不能用Showmessage调试
      

  5.   

    改CAPTION 比较好观察,SHOWMESSAGE你啥都别干了...