我在窗体上有18个Label(Label1,Label2,Label3...),想像网页一样,当鼠标移到任何一个Label时都使鼠标变形状,我不想写十几段差不多的代码,不知怎样才能写一段后别人调用都可以的代码

解决方案 »

  1.   

    写一个mousemove事件,然后在每个label的mousemove事件都指定为那个函数
    哈哈,不知道我说清楚了没有
      

  2.   

    真是的,当然没说清楚,要是我在Label1的MouseEnter事件中写Label1.Font.Color := clRed,再把所有的Label事件中都会将Label1变红,而不是他们自己变颜色。我是想若移到Label1,Label1变红;若移到Label8,Label8变红,而不是所有的都是Label1一个变颜色
      

  3.   

    不是有sender吗,那就是当前选中的Tlable(sender).fong.....;
      

  4.   

    放一个tactionlist控件,添加两个action分别为enteraction,leaveaction
    代码如下
    procedure TForm1.enteractionExecute(Sender: TObject);
    begin
    screen.Cursor:=crcross;
    end;procedure TForm1.leaveactionExecute(Sender: TObject);
    begin
     screen.Cursor:=crarrow;
    end;
    然后指定每个Tlabel控件的onmouseenter事件指针为enteractionexecute
                            onmouseleave事件指针为leaveactionExecute
      

  5.   

    放一个tactionlist控件,添加两个action分别为enteraction,leaveaction
    代码如下
    procedure TForm1.enteractionExecute(Sender: TObject);
    begin
          (sender as tlabel).Color:=clred;
    end;procedure TForm1.leaveactionExecute(Sender: TObject);
    begin
         (sender as tlabel).Color:=clbtnface;
    end;
    然后指定每个Tlabel控件的onmouseenter事件指针为enteractionexecute
                            onmouseleave事件指针为leaveactionExecute