麻烦各位了!这是我写的 myclick 的代码(也不能正常工作!): procedure Tform1.myclick(sender: tobject); var m: integer; begin m:=(Sender As TCheckbox).Tag; if checks[m].checked=true then checks[m].checked:=false else checks[m].checked:=true; end;
procedure Tform1.myclick(sender: tobject); var m: integer; begin m:=TCheckbox(Sender).Tag; //改这样试试 if checks[m].checked=true then checks[m].checked:=false else checks[m].checked:=true; end;
定义一个方法伏给OnClick方法。
procedure Tform1.myclick(sender: tobject);
var
m: integer;
begin
m:=(Sender As TCheckbox).Tag;
if checks[m].checked=true then
checks[m].checked:=false
else
checks[m].checked:=true;
end;
var
m: integer;
begin
m:=TCheckbox(Sender).Tag; //改这样试试
if checks[m].checked=true then
checks[m].checked:=false
else
checks[m].checked:=true;
end;
将控件的OnClick事件与myclick方法向关联:
checks[n].OnClick := myclick;
我不明白你的代码具体要实现什么目的。因为在你点击CheckBox的时候,控件就会自动Check或者UnCheck
建议改为
procedure Tform1.myclick(sender: tobject);
begin
TCheckbox(Sender).checked=not TCheckbox(Sender).checked//改这样试试
end;
将控件的OnClick事件与myclick方法向关联之后,动态
生成的CHECKBOX的值在单击后仍然不会发生变化! 2.如果不为动态生成的CHECKBOX另外编写ONCLICK事件,
即使用其默认的ONCLICK事件,动态生成的CHECKBOX的值
在单击后还是仍然不会发生变化! 这到底是为什么?!!!
我还有一个问题不明白.同样是动态生成的CHECKBOX控件数组,当将
PARENT属性设置为FORM1时,就不会出现上面的问题?也不必为生成
的CHECKBOX另外编写ONCLICK事件?!