小弟在编程中遇到这样一个问题:
因为需要,在单击label控键时,改变label的color属性值,以达到动态改变label控键的颜色。
但是如果label控键太多,因为label的名称不同,这样就需要对每个label的onclick编程才能实现上述功能。
我想可否用一个函数就能实现上述功能。如果在单击label时能自动判断是哪一个label被选中,就改变该
label的color属性值。我在Form的OnCreate事件中把label控键编成一个数组,但不知如何自动判断是哪一个label被选中
请各位大虾指教!
谢!谢!谢!谢!

解决方案 »

  1.   

    可以根据tag属性的不同来分类,比如procedure TForm1.Label1Click(Sender: TObject);
    begin
      case TLabel(Sender).Tag of
        0: TLabel(Sender).Color := clWindow;
        1: TLabel(Sender).Color := clRed;
        else TLabel(Sender).Color := clBlue;
      end;
    end;
      

  2.   

    我不知道怎么实现‘知如何自动判断是哪一个label被选中’,不过我觉得想知道‘知如何自动判断是哪一个label被选中’就是知道哪个被单击了,性质差不多吧,这样实现也不麻烦啊,在label1里写代码,然后在labe2的object inspector窗口的onclick事件点下拉框,选择label1click,每一个都这么选就行了,不用再写代码,也很方便啊。在label里这么写。
    procedure TForm1.Label1Click(Sender: TObject);
    begin
      TLabel(Sender).Font.Color := clBlue;
    end;