求助关于radio控件的用法

sducs 2013-04-14 01:38:34
基于对话框的VC程序,只有一个radio控件,属性勾选group。关联变量m_radio

点击radio的响应函数
if(m_radio == 0)
{
m_radio = -1;
}
else
{
m_radio = 0;
}
UpdateData(FALSE);
主要就是想实现点击radio选中,再点击取消选中...


现在的问题是,运行时点击radio会选中,再次点击会取消选中,
但是此时刷新界面(切换到别的界面然后切换回来),radio控件又变成选中状态....

请问怎么操作或设置才能在刷新界面的时候radio控件不会变成选中状态???谢谢各位
...全文
172 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
sducs 2013-04-14
  • 打赏
  • 举报
回复
多谢13楼。要的就是这个效果,非常感谢!!!!!!
schlafenhamster 2013-04-14
  • 打赏
  • 举报
回复
#10楼方法可行。 切换时 把焦点移到 OK 上 void CxxxDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) { afxDump << nState << "\n"; if(!nState) GetDlgItem(IDOK)->SetFocus(); // 注意 这句下移了 CDialog::OnActivate(nState, pWndOther, bMinimized); }
  • 打赏
  • 举报
回复
引用 4 楼 sducs 的回复:
我知道checkbox可以实现这种功能。但是这个地方必须要用radio。。。
你在折磨MFC么? radio在这个场合下用的确不合适 而且你这里用到了DDX,这就更加难于在多个界面下控制了 你的选定原始值最好放在一个全局变量里 然后你就维护这个全局变量 控件关联到CButton变量上
sducs 2013-04-14
  • 打赏
  • 举报
回复
楼上说话注意点,想说就好好说,不想说就不用回帖
菜牛 2013-04-14
  • 打赏
  • 举报
回复
古人不知道地球是圆的,因而嘲笑“南辕北辙”,其实也可以走到的,假设大陆是连接在一起。 用Checkbox Button可以实现的功能,偏偏要用Radio Button去绕圈子,不说变态也是自取烦恼。 把焦点从Radio Button移开就行。
sducs 2013-04-14
  • 打赏
  • 举报
回复
我的意思是不勾选也可以,只要能实现类似的功能就行。如果必须要勾选才能实现的话那就勾选。要的是结果,不是过程
schlafenhamster 2013-04-14
  • 打赏
  • 举报
回复
radio 通常是几个 ,结果是 必须有一个 是 选中的
schlafenhamster 2013-04-14
  • 打赏
  • 举报
回复
“勾不勾选group无所谓”? 你去掉看看 !
sducs 2013-04-14
  • 打赏
  • 举报
回复
勾不勾选group无所谓。上面我说勾选只是自己的做法,只要界面上是radio就行,属性怎么设置、后台怎么实现都没有关系
schlafenhamster 2013-04-14
  • 打赏
  • 举报
回复
“只有一个radio” 就是 一个 checkbox 一定要用 radio 违背了 radio的 初衷 ! 由于Group 的原因
sducs 2013-04-14
  • 打赏
  • 举报
回复
我知道checkbox可以实现这种功能。但是这个地方必须要用radio。。。
schlafenhamster 2013-04-14
  • 打赏
  • 举报
回复
那就用checkbox 吧。
sducs 2013-04-14
  • 打赏
  • 举报
回复
是的。只有一个radio。因为别的地方需要这种用法,这只是测试用法的程序
schlafenhamster 2013-04-14
  • 打赏
  • 举报
回复
只有一个 Radio ?

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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