`
txf2004
  • 浏览: 6865159 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

《第十五周实验报告2-1》---VS2008 MFC中Combox的使用

 
阅读更多
//【任务2 拓展(选做)】将上面的输入运算符的编辑框换为下拉列表框,使之只能选“+‐*/”
void CmfcCFractionDlg::OnCbnCloseupCombo1()
{
	
	// TODO: 在此添加控件通知处理程序代码
	static BOOL flag = true;
	if(flag){	
		flag = false;
		m_combobox.AddString(_T("+"));
		m_combobox.AddString(_T("-"));
		m_combobox.AddString(_T("*"));
		m_combobox.AddString(_T("/"));
	}
	if(m_combobox.GetCurSel() != CB_ERR)//如果没有选择返回CB_ERR
		nIndex = m_combobox.GetCurSel();
	else
		nIndex = 0;

	//m_combobox.GetLBText(nIndex, sign);//将选择的运算符进行储存	
	m_combobox.SetCurSel(nIndex);//显示选择的运算符
}
//添加等号点击事件
void CmfcCFractionDlg::OnBnClickedButton1()
{
	CString str = _T("运算符输入有误!");
	int n1, d1, n2, d2, n, d;
	// TODO: 在此添加控件通知处理程序代码
	UpdateData();
	n1 = _wtoi(m_n1.GetBuffer());
	d1 = _wtoi(m_d1.GetBuffer());
	n2 = _wtoi(m_n2.GetBuffer());
	d2 = _wtoi(m_d2.GetBuffer());

	CFraction cf1(n1, d1), cf2(n2, d2), cf;

	switch(nIndex)
	{
	case 0:
		cf = cf1 - cf2;
		break;
	case 1:
		cf = cf1 * cf2;
		break;
	case 2:
		cf = cf1 / cf2;
		break;
	case 3:
		cf = cf1 + cf2;
		break;
	default :
		AfxMessageBox(str);//FMC弹出字符串
		return;
	}
	m_n.Format(_T("%d"), cf.getn());
	m_d.Format(_T("%d"), cf.getd());

	UpdateData(FALSE);
}
/*
程序运行时还有很多BUG有待完善、、、
*/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics