如何使用按钮更改编辑控制框 [英] How to change edit control box with button

查看:56
本文介绍了如何使用按钮更改编辑控制框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我正在通过使用基于对话框的VC ++/MFC应用程序来做计算器程序.在对话框中,添加了一个编辑文本控件和一个按钮.因此,当我在对话框窗口中按下按钮时,需要在该对话框中更改/添加编辑控制框的文本.要显示文本,请在ButtonClicked方法中使用Setsel()和ReplaceSel()方法,但是它不起作用.

显示代码的相关部分,并讲究技巧.
如果始终要更改所有文本,请使用SetWindowText.

basu

Hi,
I am doing calculator program by using dialog based VC++/MFC application. In a diaolg box, added a edit text control and a push button. So I need to change/append the text of edit control box in that dialog when I pressed the push button in dialog window. To display the text am using Setsel() and ReplaceSel() methos in ButtonClicked method, but it''s not working.

Show the relevant portion of your code and relevent artical.
If you always want to change all the text, use SetWindowText.

basu

推荐答案

void operator += (LPCSTR str)
{
	CString CurrText;
        GetWindowText (CurrText);
        if(CurrText!="0")
            CurrText += str;
        else
           CurrText = str;
        SetWindowText (CurrText);
}

void CCalciDlg::OnBnClickedCbutton0()
{
	
	if(eqflg==TRUE)
	{
		SetDlgItemText(IDCRESULT,_T("0"));
		eqflg=FALSE;
	}
	resu += "0";
	
}
void CCalciDlg::OnBnClickedCbutton1()
{
	if(eqflg==TRUE)
	{
		SetDlgItemText(IDCRESULT,_T("0"));
		eqflg=FALSE;
	}
	resu += "1";
}
void CCalciDlg::OnBnClickedCbutton2()
{
	if(eqflg==TRUE)
	{
		SetDlgItemText(IDCRESULT,_T("0"));
		eqflg=FALSE;
	}
	resu += "2";
}
void CCalciDlg::OnBnClickedCbutton3()
{
	if(eqflg==TRUE)
	{
		SetDlgItemText(IDCRESULT,_T("0"));
		eqflg=FALSE;
	}
	resu += "3";
}
void CCalciDlg::OnBnClickedCbutton4()
{
	if(eqflg==TRUE)
	{
		SetDlgItemText(IDCRESULT,_T("0"));
		eqflg=FALSE;
	}
	resu += "4";
}
void CCalciDlg::OnBnClickedCbutton5()
{
	if(eqflg==TRUE)
	{
		SetDlgItemText(IDCRESULT,_T("0"));
		eqflg=FALSE;
	}
	resu += "5";
}
void CCalciDlg::OnBnClickedCbutton6()
{
	if(eqflg==TRUE)
	{
		SetDlgItemText(IDCRESULT,_T("0"));
		eqflg=FALSE;
	}
	resu += "6";
}
void CCalciDlg::OnBnClickedCbutton7()
{
	if(eqflg==TRUE)
	{
		SetDlgItemText(IDCRESULT,_T("0"));
		eqflg=FALSE;
	}
	resu += "7";
}
void CCalciDlg::OnBnClickedCbutton8()
{
	if(eqflg==TRUE)
	{
		SetDlgItemText(IDCRESULT,_T("0"));
		eqflg=FALSE;
	}
	resu += "8";
}
void CCalciDlg::OnBnClickedCbutton9()
{
	if(eqflg==TRUE)
	{
		SetDlgItemText(IDCRESULT,_T("0"));
		eqflg=FALSE;
	}
	resu += "9";
}
void CCalciDlg::OnBnClickedCbuttonpoint()
{
	CString msg;
	GetDlgItemText(IDCRESULT,msg);
	if(flg==TRUE)
	{
		msg=msg+''.'';
		SetDlgItemText(IDCRESULT,msg);
		flg=FALSE;
	}
	pctrl.EnableWindow(FALSE);
	//SetProperty(IDCBUTTONPOINT,WS_VISIBLE,FALSE);
	
}
void CCalciDlg::OnBnClickedCbuttondiv()
{
	num=0;
	opflg=4;
	UpdateData(TRUE);
	num=num1;
	SetDlgItemText(IDCRESULT,_T("0"));
}
void CCalciDlg::OnBnClickedCbuttonmul()
{
	num=0;
	opflg=3;
	UpdateData(TRUE);
	num=num1;
	SetDlgItemText(IDCRESULT,_T("0"));
}
void CCalciDlg::OnBnClickedCbuttonplus()
{
	num=0;
	opflg=1;
	UpdateData(TRUE);
	num=num1;
	SetDlgItemText(IDCRESULT,_T("0"));
}
void CCalciDlg::OnBnClickedCbuttonminus()
{
	num=0;
	opflg=2;
	UpdateData(TRUE);
	num=num1;
	SetDlgItemText(IDCRESULT,_T("0"));
}
void CCalciDlg::OnBnClickedCbuttonequal()
{
	eqflg=TRUE;
	
	if(num1!=0)
	{
		UpdateData(TRUE);
		switch(opflg)
		{
		case 1:
			num=num+num1;
			break;
		case 2:
			num=num-num1;
			break;
		case 3:
			num=num*num1;
			break;
		case 4:
			num=num/num1;
			break;
		case 0:
			AfxMessageBox(_T("Please Select The Operation"),MB_OK);
			break;
		}
		CString str;
		str.Format(_T("%.2f"), num);
		SetDlgItemText(IDCRESULT,str);
		resu.SetSel(0,-1);
	}
	else
	{
		AfxMessageBox(_T("Enter The Second Value"),MB_OK);
	}
}


这篇关于如何使用按钮更改编辑控制框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆