好像不能动态生成ONCLICK事件,只能先写好一个事件比如 event1.然后checkbox1.onclick() :=event1.当然 event1的参数格式要和onclick吻合

解决方案 »

  1.   

    这相当于是个函数指针,可以直接等于过去的啊,赋给一个函数就行了,注意返回为void,参数匹配,__fastcall一般就可以了吧。
      

  2.   

    你的问题是要点击CheckBox有动作,这好办,总结楼上几位兄弟的经验
    先在Form(应当有FORM吧)里写一个事件过程,注意参数要和你直接放
    在上面的checkbox的参数一样,再在程序里实现这个事件过程,然后
    就可以在动态生成的CHECKBOX里用CB.onclick():=youPROC;
    呵呵,有反应了吧
      

  3.   

    function yourClick(sender:Tobject);rect:=stringgrid.cellrect(1,1);
    cb:=Tcheckbox.create(self);
    cb.Parent:=stringgrid;
    cb.Left := Rect.Left;
    cb.Top := Rect.Top;
    cb.Width:=rect.right-rect.left-5;
    cb.Caption := '可用';
    cb.tag:=ycount;
    cb.Enabled:=true;
    cb.Visible:=true;cb.Onclick:=yourClick;
    如此即可
      

  4.   

    谢谢各位,以上方法我都已经试过,但都没有反应,我想主要问题是我的checkbox是做在
    stringgrid里面,cb.onclick好象根本执行不了.如果做在其他地方就没有问题了
    大家还有其他方法吗?