关于radiogroup单击事件的问题?
在radiogroup单击事件里,我写一段代码
如
if(...->IemIndex==1)
{
....
}
当第一次选中时,能执行,但是第二次点击相同的选项后,就没反映,搞不清楚是怎么回事,按理说条件是满足的啊
如果先点击别的选项 ,然后再选刚才的那个,又能成功的
各位帮我好吗?
问题点数:0、回复次数:14Top
1 楼meCAD(重建CHINABCB.COM论坛(QQ群:13252194))回复于 2003-06-01 11:14:00 得分 0
巨简单的问题。你自个调试一下就能发现问题所在Top
2 楼heartbreaking2003(伤心欲绝)回复于 2003-06-01 11:19:41 得分 0
说一下嘛,我就是搞不定啊!
刚才那个IemIndex==1应该是ItemIndex==1
假如第一次选了某一项(ItemIndex==1这一项),第二次再选这个就没反应啊Top
3 楼heartbreaking2003(伤心欲绝)回复于 2003-06-01 11:45:37 得分 0
我的源代码:
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{
if(RadioGroup1->ItemIndex==1)
Form2->ShowModal() ;
}
如两次点击相同的item(ItemIndex==1),第二次就没任何反应了,只有点别的,再点这个才有用,怎么回事呢?
Top
4 楼bacer(键盘制造)回复于 2003-06-01 12:46:45 得分 0
第二次点击没有触发RadioGroupClick的事件Top
5 楼heartbreaking2003(伤心欲绝)回复于 2003-06-01 13:22:18 得分 0
to :bacer(键盘制造)
那该怎么办?Top
6 楼shanewest1(炉子)回复于 2003-06-01 13:57:00 得分 0
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{
if(RadioGroup1->ItemIndex == 1)
{
Form2->ShowModal();
}
}
在Form2中
void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)
{
Form1->RadioGroup1->ItemIndex = 0;
}
一个很笨的方法,呵呵Top
7 楼heartbreaking2003(伤心欲绝)回复于 2003-06-01 14:29:07 得分 0
我这里只是举了一个例子,在我的程序里不可能是这样的Top
8 楼zgce(牧童)回复于 2003-06-01 14:41:28 得分 0
呵,看来最简单的办法,用MouseDown事件吧,写个新的MessageHanderTop
9 楼zgce(牧童)回复于 2003-06-01 14:48:21 得分 0
这样写吧。
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{
if(RadioGroup1->ItemIndex < 0)
return;
ShowMessage(RadioGroup1->ItemIndex);
RadioGroup1->ItemIndex = -1;
}Top
10 楼heartbreaking2003(伤心欲绝)回复于 2003-06-01 17:34:20 得分 0
我对用MouseDown事件感兴趣,如何做?
上面代码对我还是不实用,因为我后面好多的地方都要用到象
if(RadioGroup1->ItemIndex ==1)这样的语句Top
11 楼heartbreaking2003(伤心欲绝)回复于 2003-06-02 21:31:32 得分 0
大家帮我!Top
12 楼Lewolf(无名)回复于 2003-06-06 22:44:37 得分 0
看看OnClick事件的帮助吧,这并不是简单的鼠标点击事件,而是抽象后并将Windows消息加工后的,它的触发条件是当RadioBox的Checked改变是产生,如果使用键盘移动RadioGroup的选项也会触发这个事件。
我在《面向状态的程序设计与C++ Builder》中对这个作了介绍,你可以到ChinaBCB.com下载这本书看看。Top
13 楼bacer(键盘制造)回复于 2003-06-12 22:49:47 得分 0
如果radio根本没有变化也没必要再次执行onclick中的程序吧,重新设计一下程序结构可能更加合计一些Top
14 楼heartbreaking2003(伤心欲绝)回复于 2003-06-14 21:17:17 得分 0
我的程序是这样的:
比如测试某物体的某个参数,测完后继续测下一辆该参数,由于该参数没有变化,所以无法测量下一个物体,程序设计进入尾声,不可能从头再来改,那太恐怖了Top




