Edit Control是在MFC对话框中最频繁的使用的控件之一,获取Edit Control与赋值是常见的操作。下面来看看如何实现。IDE Visual Studio 2010,MFC工程。
首先是新建MFC工程。
然后在资源视图界面中,Dialog文件夹下打开IDD_NOWAMAGIC_MFC_DIALOG,自己设计界面,大致设计如下:
然后选择Edit Control,在属性栏点击闪电的小图标,选择BN_CLICKED,添加OnBnClickedOk事件。
void CNowaMagic_MFCDlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 }
最初生成这样的方法,我们可以改写下,从Edit Control获取值,然后通过MessageBox输出出来。
void CNowaMagic_MFCDlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 //CDialogEx::OnOK(); //获得EDIT CEdit* pBoxOne; pBoxOne = (CEdit*) GetDlgItem(IDC_EDIT1); //赋值 //pBoxOne-> SetWindowText( _T("FOO ") ); //取值 CString str; pBoxOne-> GetWindowText(str); MessageBox(str,_T("程序运行结果"),MB_OK); str.ReleaseBuffer(); }
OK,就这么简单,下面是执行情况:
void Frm1::OnBnClickedOk()
{
MessageBox(_T("11"));
// TODO: 在此添加控件通知处理程序代码
//获取Text Contro
CEdit* pBoxOne;
pBoxOne = (CEdit*)GetDlgItem(IDC_EDIT1);
//赋值
//pBoxOne-> SetWindowText( _T("FOO ") );
//取值
CString str;
pBoxOne->GetWindowText(str);
MessageBox(str, _T("程序运行结果"), MB_OK);
str.ReleaseBuffer();
}
//初始化 加载事件
BOOL Frm1::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
//添加COmbo box 数据
m_choose.AddString(_T("111111111"));
m_choose.AddString(_T("22222222"));
m_choose.AddString(_T("333333333"));
m_choose.AddString(_T("44444444"));
m_choose.AddString(_T("55555555"));
m_choose.AddString(_T("66666666"));
//Edit Control
m_editMultiLine.SetWindowText(_T("zji-wgf很快乐,加油加油/software")); // 设置编辑框正文为“鸡啄米博客.com”
m_editMultiLine.SetSel(3, 5); // 选择起始索引为3,终止索引为5(不包括在选择范围内)的正文,即“博客”
m_editMultiLine.ReplaceSel(_T("\r\nwww.wgf5845201314.com")); // 将选择的“博客”替换为“\r\nwww.jizhuomi.com”
//zjiwww.wgf5845201314.comgf很快乐,加油加油 / software
//Text Contro
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}