checkbox為什麼不能改變其checked,解決放分!!!!!!!!!!!!!!!!!!!!!

lastshooting 2005-03-25 11:33:01
我把checkbox放到AdvStringGrid後點擊它不能改變其cheched屬性,
各位高人幫忙,急
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TRect Rect;
CheckBox1->Parent = AdvStringGrid1;
Rect=AdvStringGrid1->CellRect(1,1);
CheckBox1->SetBounds(Rect.left,Rect.top,Rect.Width(),Rect.Height());
CheckBox1->Checked=false;

CheckBox1->OnClick= AdvStringGrid1Click;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::AdvStringGrid1Click(TObject *Sender)
{
CheckBox1->Checked=!CheckBox1->Checked;
}
...全文
111 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
constantine 2005-03-25
  • 打赏
  • 举报
回复
同意,
setdefault 2005-03-25
  • 打赏
  • 举报
回复
原因是OnClick时已经改变了checked属性,你又改回来当然看上去没有变了。哈哈
Sephil 2005-03-25
  • 打赏
  • 举报
回复
CheckBox1->OnClick= AdvStringGrid1Click;去掉就好了
Libran 2005-03-25
  • 打赏
  • 举报
回复
去掉CheckBox1->OnClick的响应;

在CheckBox1的OnMouseDown事件里写:
CheckBox1->Checked = !CheckBox1->Checked;
setdefault 2005-03-25
  • 打赏
  • 举报
回复
void __fastcall TForm1::AdvStringGrid1Click(TObject *Sender)
{
CheckBox1->Checked=!CheckBox1->Checked;
}
进入了一个死循环嵌套,不停的再调用AdvStringGrid1Click
如果想在Onclick里面更改Checked这样试试
void __fastcall TForm1::AdvStringGrid1Click(TObject *Sender)
{
CheckBox1->OnClick=NULL;
CheckBox1->Checked=!CheckBox1->Checked;
CheckBox1->OnClick= AdvStringGrid1Click;
}
lastshooting 2005-03-25
  • 打赏
  • 举报
回复
剛開始我可沒有用CheckBox1->Checked=!CheckBox1->Checked;也沒用的

13,870

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧