我在form1上添个dbgrid1,添加了a,b,c三列
想继承TDbGrid写个组件加个事件,当abc三列创建完后触发
该怎么做?

解决方案 »

  1.   

    如果abc自己创建的,那么还需要什么事件?自己写代码就行了
      

  2.   


    type 
      TOnaaa = procedure(Sender: TObject) of object;//定义事件指针类型
      
      private
        FOnaaa: TOnaaa;
      published 
       property Onaaa: TOnaaa read FOnaaa write FOnaaa;//定义事件
       
    .... //添加完三列
      if Assigned(FOnaaa) then FOnaaa(Self);//这样就执行了
      

  3.   

    有可能abc是自个写个代码创建的,但大多数都是在设计期时一次添加完成的,
    在运行期我需要调用一个过程来处理各列,我以前的做法是在form.onshow里处理某个特定的TDbGrid,如果一个form里有多个TDbGrid又或是在不同的form里(尽管可以继承)都要写,所以觉得麻烦,就想继承TDbGrid自个写个组件
    如果有其它方法更好
      

  4.   

    to: huojiehai(海天子) 
    三列不一定是写代码添加的,所以不知何时FOnaaa(Self)
    我试用在Create过程里,呵呵,这时三列还没有