如何实现这个效果??

maurice1978 2010-03-21 03:47:16
我的dlg上有 三个单选控件,它们是一个group,

还有一个combo box ,里面有三个下拉项,

怎样实现下拉选择某个combo box 项后,程序自动选中相应的radio 控件,并且触发 radio change 的事件???
...全文
144 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
maurice1978 2010-03-23
  • 打赏
  • 举报
回复
顶出来
maurice1978 2010-03-23
  • 打赏
  • 举报
回复
各楼的兄弟

加上 UpdateData(FALSE); 后 radio 控件是能够随着 combobox 的选择而变化,

但是没有触发 OnGroupcontrolChanged 事件啊,
maurice1978 2010-03-22
  • 打赏
  • 举报
回复
谢谢11楼的兄弟,写得这么详细,晚上回去试试
zxdyu2009 2010-03-22
  • 打赏
  • 举报
回复
为ComboBox添加CBN_SELCHANGE事件,OnSelchangeCombo 函数体内容如下:
UpdateData();
int nSel = m_comboCtrl.GetCurSel();
if ( -1 == nSel )
{
return;
}
CString strSel;
m_combo.GetLBText(nSel,strSel);
if ( strSel == "1" )
{
m_nRadio = 0;
}
else if (strSel == "2" )
{
m_nRadio = 1;
}
else
{
m_nRadio = 2;
}
UpdateData(FALSE);
说明:m_nRadio 是radio组中的第一个radio关联的变量,关联变量的方法是:选中radio用鼠标双击,弹出关联变量对话话,选择int类型变量,取变量名为m_nRadio点击确定。
m_comboCtrl是combo box关联的控件类型变量,方法也是选中combo box双击它,弹出对话框,变量名取为m_comboCtrl,Category中选择control点击确定。对combo box添加事件,先选中combo box再右键选择事件(Envent),选择CBN_SELCHANGE,点击添加并编辑。
对于让三个radio如何成组可以按以下方法:
拖出三个radio选择第一个radio右键属性,把里面的group勾上。按CTRL+D看看这三个radio的值是不是按顺序排列的,如:5,6,7,如果不是,可以用鼠标依次点击第一个,第二个,第三个radio,再进行上面所说的变量关联。不成组,radio是不能关联变量的。
sk_sakula 2010-03-22
  • 打赏
  • 举报
回复
在 combo box 的selchange 里设置radio,同时调用radio change消息响应函数
设置完后,更新一下
UpdateData(False);
hzy694358 2010-03-21
  • 打赏
  • 举报
回复
设置完后,更新一下
UpdateData(False);
chenweiye120 2010-03-21
  • 打赏
  • 举报
回复
更新函数吧。
maurice1978 2010-03-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lllyyy2403 的回复:]
引用 2 楼 maurice1978 的回复:
我给radio 设置了一个变量m_radio,我直接设置了m_radio的值,例如m_radio=0 或 m_radio=2

但是好像没有效果

-----你设置的是控制变量吗?而且要用控制变量中关于Checked的bool变量为true就可以了。
如果是值变量,设置checed为ture后,再更新界面就可以了。
[/Quote]

怎样设置控制变量啊?刚开始用vc++ 6
许文君 2010-03-21
  • 打赏
  • 举报
回复
调用sendmessage即可
ronghaoyue 2010-03-21
  • 打赏
  • 举报
回复
UpdateData(False);
lllyyy2403 2010-03-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 maurice1978 的回复:]
我给radio 设置了一个变量m_radio,我直接设置了m_radio的值,例如m_radio=0 或 m_radio=2

但是好像没有效果
[/Quote]
-----你设置的是控制变量吗?而且要用控制变量中关于Checked的bool变量为true就可以了。
如果是值变量,设置checed为ture后,再更新界面就可以了。
lijin118 2010-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hzy694358 的回复:]
在 combo box 的selchange 里设置radio,同时调用radio change消息响应函数
[/Quote]
这个应该可以吧
maurice1978 2010-03-21
  • 打赏
  • 举报
回复
我给radio 设置了一个变量m_radio,我直接设置了m_radio的值,例如m_radio=0 或 m_radio=2

但是好像没有效果
hzy694358 2010-03-21
  • 打赏
  • 举报
回复
在 combo box 的selchange 里设置radio,同时调用radio change消息响应函数

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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