1
我已经创建了一个MFC形式与4个单选按钮,与所述表格上的名称A,B,X,Y,MFC单选按钮改变按钮名称动态
现在我想要的形式来显示所述姓名X, Ÿ当我选择按钮A
,当我选择按钮B,我想X的名字,Y更改为M,N
如何做到这一点?
我已经创建了一个MFC形式与4个单选按钮,与所述表格上的名称A,B,X,Y,MFC单选按钮改变按钮名称动态
现在我想要的形式来显示所述姓名X, Ÿ当我选择按钮A
,当我选择按钮B,我想X的名字,Y更改为M,N
如何做到这一点?
使用SetWindowText();更改任何其他控件上更改方式的单选按钮上的文本;
为了处理“选择”单选按钮的事件,请为BN_CLICKED通知消息添加一个处理程序。我建议你为你的四个单选按钮使用相同的处理程序。然后,在函数里面写这个小代码:
// assumptions:
// there are four radiobuttons: IDC_RADIOA, IDC_RADIOB, IDC_RADIOX, IDC_RADIOY
// The message map
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
ON_BN_CLICKED(IDC_RADIOA, OnRadio)
ON_BN_CLICKED(IDC_RADIOB, OnRadio)
ON_BN_CLICKED(IDC_RADIOX, OnRadio)
ON_BN_CLICKED(IDC_RADIOY, OnRadio)
END_MESSAGE_MAP()
// a common handler for all four radiobuttons
void CMyDlg::OnRadio()
{
switch(GetCheckedRadioButton(IDC_RADIOA, IDC_RADIOY))
{
case IDC_RADIOA:
SetDlgItemText(IDC_RADIOX, _T("X"));
SetDlgItemText(IDC_RADIOY, _T("Y"));
break;
case IDC_RADIOB:
SetDlgItemText(IDC_RADIOX, _T("M"));
SetDlgItemText(IDC_RADIOY, _T("N"));
break;
default:
// you have not specified what to do when you select radio X and Y, so specify it here
break;
}
}
非常感谢!它就像你说的那样工作 – goal4321