自己写了我个单证套打程序,单证的输入项目有100多个(也就是100多个Edit)对应的Label也有100多个,为了让使用者清晰明了,我打算让焦点所在的Edit的对应Label的字体变色何加粗,现在的做法是在每个Edit的NoEnter事件中设置Label的字体何颜色,问题就在这100多个,代码太多了,又重复
想问问大家,有没有什么简单的办法能够解决,我设想的是自定义个过程,然后调用就可以了,但是不知道怎么来构造!
关键是不知道怎么传递对应的Label控件的name给过程!

解决方案 »

  1.   

    改進下EDIT類,加一個LABLE的引用。或者給每個EDIT編一個ID,LABLE也是,做個對應。
      

  2.   


    100个edit的onenter可以指向一个事件方法的
    首先要做好edit和label控件的对应关系,如tag相同或name有规律(比如E_xxx和L_xxx对应)
      

  3.   

    var
      i,t:integer;
    begin
      t:=(sender as Tedit).tag;
      for i:=0 to self.componentcount-1 do
        if self.components[i].tag=t then
        begin
          它就是对应的label了;
        end;
    end;
      

  4.   

    呵呵,多谢大家给我的思路,现在搞定了,其实过程内容一句话就ok,也不用设置TAG
    调用的话就SatLab(labelx)就可以了