VC中radiobutton状态查询

来源:百度知道 编辑:UC知道 时间:2024/06/12 19:12:30
请教各位高手。我在MSDN中查询radiobutton的Method其中有一个
getchecked()选项所以我就用
GetDlgItem(IDC_RADIO1)->getChecked();方法想获得按钮当前的状态、
可是结果报错说是:
'getChecked' : is not a member of 'CWnd'意思好像是这个方法不属于
CWnd框架的成员函数吧。
如果这样那getChecked方法该如何调用?
另外在网上查了下上面有一个CButton的方法:
((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck;
这个方法是强制吧radiobutton转化成了CButton类吧
CButton类和radiobutton类之间的关系是什么。radiobutton是属于CButton类的派生么?
希望能回答我所有的问题。。来自一个VC菜鸟的求助!~~
谢谢对我的问题的回答,可是我刚开始学习VC,MSDN的查询还是不够熟练。我怎么才能一上去直接就查询到radiobutton的这个方法呢?我现在只会直接通过控件查询,可直接通过控件查询无法查到这个方法呀。。
另外要是能回答生下来的问题就不胜感激了。。

if(IsDlgButtonChecked(IDC_RADIO2)) //用这个判断是否选中,IDC_RADIO2是你的radiobutton的ID

查询这东西只能慢慢来积累经验了.

"CButton类和radiobutton类之间的关系是什么。radiobutton是属于CButton类的派生么?"
因为没radiobutton类,所以就没有这个问题.

"((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck;
这个方法是强制吧radiobutton转化成了CButton类吧"
这种方式其实什么也没发生,并不会发生转换行为,只是程序运行时,翻译器用CButton类的大小和方法去读GetDlgItem(IDC_RADIO1))这个指针的地方,这个可能有点不好理解,给你打个比喻:有一张纸上面写满了字,这张纸就是你的radio对象.那么现在你有两个有孔的纸,他们上面孔的位置不一样,那么你把这两纸放到对象上看到的东西就不一样,这就是"((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck;这种方式下发生的行为 ,内存内容并没有改变,只是用不同的方式读取罢了