MFC选中对话框中的radio,使另外一个对话框的静态文本显示指定字符

对话框A有一组radio,含三个控件,只能单选,根据选中的radio使对话框B的静态文本框显示不同的内容。如选中radio1,显示l,选中radio2,显示m,选中radio3,显示n。
void CUserSetUnSet::OnBnClickedRadio1()
{
CString s;
s.Format(_T("l"));
CMainUI dlg;
dlg.m_DUstr=s;
}
然后在对话框B的初始化函数中
if(m_Radio1=1)
{
UpdateData(true);
SetDlgItemText(IDC_STATIC_DU,m_DUstr);
}
不能显示

4个回答

if(m_Radio1=1)
=>
    if(m_Radio1==1)
另外它真的是1么
aftersweet
aftersweet 其实它报错m_Radio未定义,因为是在另一个对话框的类中定义的
5 年多之前 回复
aftersweet
aftersweet 我记得选中不就是1么,没选中就是0?
5 年多之前 回复
aftersweet
aftersweet 类的访问实现了,那么怎么把这里的radio选中的值转换为另一个类的字符串变量的值呢,你给的链接里面用的是edit,可以直接赋值。等号失误
5 年多之前 回复

你需要保存一个CMainUI的对象指针等,而不是再申明一个局部变量

aftersweet
aftersweet 你直接给写两行代码我看看行么,CWnd *pwnd = FindWindow(_T("CMainUI"),NULL);HWND hwnd = pwnd->GetSafeHwnd();再sendmassage还是不行啊
5 年多之前 回复
aftersweet
aftersweet 你直接给写两行代码我看看行么,CWnd *pwnd = FindWindow(_T("CMainUI"),NULL);HWND hwnd = pwnd->GetSafeHwnd();再sendmassage还是不行啊
5 年多之前 回复
oyljerry
oyljerry 但是你这里是重新生成了一个对象,而不是原来那个
5 年多之前 回复
aftersweet
aftersweet 不能直接在CMainUI中直接根据m_Radio的值(1选中,0没选中)来判断应该输出什么吗
5 年多之前 回复
aftersweet
aftersweet 能不能麻烦说下详细的过程,代码
5 年多之前 回复

单击radio后,发消息通知对话框B刷新

aftersweet
aftersweet 我改来改去还是不显示
5 年多之前 回复
aftersweet
aftersweet 能不能给两行具体代码
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐