如题,最好给点原代码?在线等待

解决方案 »

  1.   

    type
      TForm1 = class(TForm)
        Button1: TButton;
        Panel1: TPanel;
        procedure FormCreate(Sender: TObject);
        procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      Button1.OnMouseMove := FormMouseMove;
    end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      Hint := IntToStr(X) + ', ' + IntToStr(Y);
    end;
      

  2.   

    自己定义一个MouseMove事件,然后给控件的OnMouseMove赋值这个事件就可以了
      

  3.   

    OnMouseMove := 自定义事件处理过程
      

  4.   

    我用OnMouseMove := myMouse()
    它告诉我参数不够,怎么回事
      

  5.   

    参数不够就是参数不够了,你看看你有这几个参数没有FormMouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
      

  6.   

    可我如果定义为 procedure bb(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
      
    它也告诉我错误啊
      

  7.   

    public
        { Public declarations }
        //定义
        procedure bb(Sender: TObject; Shift: TShiftState; X,Y: Integer);
    procedure bb(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
        Showmessage('aaa');
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin    Button2.OnMouseMove := bb;
    end;
      

  8.   

    如果是click 事件
    我用 button2.click = bb;能行,但mousemove不行,我该怎样定义才正确
      

  9.   

    因为你多加了个括号!OnMouseMove := myMouse()
                          ~~
      

  10.   

    因为你的Button2是属于Form1的
    但是你的事件处理过程却不是
    因此你的事件处理过程的声明必须是这样
    trpe TForm1 = class(TForm)
        .....
        public
          procedure bb(Sender: TObject; Shift: TShiftState; X,Y: Integer);
    end;在写这个过程的时候也必须声明是TForm1所属的
    procedure TForm1.bb(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
        Showmessage('aaa');
    end;
    再然后你就可以使用了
    procedure TForm1.FormCreate(Sender: TObject);
    begin    Button2.OnMouseMove := bb;
    end;
    试试