因为有BS_OWNERDRAW所以GetCheck得到的值总是0。所以我在CMyRadioButton中设一BOOL m_gbChecked,重载了SetCheck(BOOL bChecked)this->m_gbChecked = bChecked;
GetCheck() return this->m_gbChecked。这个做法在CheckBox中是正确的,但就是因为同组radioButton中,只能有一个被checked=TRUE。GetNextDlgItemGroup用不了。
关键就是我不知道在某个m_radioX实例中得到同组其它的radio的HWND,这样我就可以radioXWnd->SetCheck(FALSE)了。
GetCheck() return this->m_gbChecked。这个做法在CheckBox中是正确的,但就是因为同组radioButton中,只能有一个被checked=TRUE。GetNextDlgItemGroup用不了。
关键就是我不知道在某个m_radioX实例中得到同组其它的radio的HWND,这样我就可以radioXWnd->SetCheck(FALSE)了。
解决方案 »
- 背景差分
- 想在flexgrid的cell上绘制两个CEdit做输入框
- (急啊)regsvr32注册失败
- 请教改变主窗口的问题.......郁闷多天了,在线等.....
- 用鼠标钩子处理WM_MOUSEWHEEL消息时如何知道滚轮滚动方向和滚动距离?
- 循环中如何使用CAsyncSocket::AsyncSelect?
- 休闲问题
- 当申请内存失败后,怎么做比较合适一点.
- MFC单线程问题
- 用VC实现对sql server 2000表变化的监控
- 【求助】删除一个空文件出错误,GETLASTERROR返回5。ERROR_ACCESS_DENIED Access is denied.
- 用API函数ChooseColor打开颜色框,想在用户鼠标选择颜色时马上得到选择的颜色
CMyRadioButton::SetCheck(BOOL bChecked)
{
CMyRadioButton *pWndRadio = NULL;
do
{
pWndRadio = (CMyRadioButton*)GetNextDlgGroupItem(NULL, FALSE);
//可不可以这样得同组RADIOBUTTON的各个WND
}
while(pWndRadio!=NULL);
}