现在的位置: 首页 > 综合 > 正文

RadioButton 在属性页中的初始化

2013年10月02日 ⁄ 综合 ⁄ 共 547字 ⁄ 字号 评论关闭

 一个主页面有几个页,我用的是继承CPropertyPage的方法,在主页中我用AddPage函数加载各页。其中有一页用到了RadioButton控件,打开软件的时候就要对其初始化,使改控件为选中状态。我首先在改页类的构造函数中加上这么一句话

((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE); 

编译的时候没有错,运行的时候就报错了。

然后我把这句话放在了主页中的OnInitDialog中,结果编译,运行的时候都没有错,但是RadioButton没有被选上。想了一下我用的GetDlgItem函数根本没有和RadioButton所使用的类关联起来。于是我用GetDlgItem另一个重载函数,带句柄的那个。但是返回值是void,就不能强制转换为CButton*类型。后来想了用控件变量关联起来,在RadioButton中增加一个控件变量m_ctrRadio(首先要改RadioButton的属性Group设置为TRUE),然后在主页中的OnInitDialog中添加m_ctrRadio.SetCheck(TRUE);结果还是不得行。

思索很久,在RadioButton使用的页中重载了OnInitDialog函数然后添加了初始化语句,就OK啦……

抱歉!评论已关闭.