VC++MFC设计界面有多个editcontrol,如何获取多个editcontrol中的值,请具体讲一下

VC++MFC设计界面有多个editcontrol,如何获取多个editcontrol中的值,请具体讲一下,第1张

也许你参数设置不对,试试这个UINT c = ::GetDlgItemInt(m_hWnd, IDC_EDIT1, NULL, NULL);就两个参数不至于弄错吧。

editcontrol里面输入整数,别输其他的,输入字母会返回0。

至于double、float这些带小数点的就麻烦一点了,先用GetDlgItemText读入字符串,再转化分析

可以通过ID来获取字符串:

GetDlgItem(IDC_FEEDBACKINFO)->GetWindowText(m_feedbackinfo);

然后清空:

GetDlgItem(IDC_FEEDBACKINFO)->SetWindowText(“”); //设为空字符串

这样2行代码就搞定了。

可以通过类向导给控件关联一个double型的变量,同事可以设置一个最大值和最小值给变量。然后调用UpdateData(FALSE)用变量的值初始化对话框控件,用UpdateData(TRUE)把对话框控件当前的值获取到关联的变量。如果设置了范围,在获取值的时候会检查。

写代码的方式也可关联,方式是在DoDataExchange函数中添加类似下面这样的代码。初学建议用类向导。

void CTestDlg::DoDataExchange(CDataExchange pDX)

{

CDialogEx::DoDataExchange(pDX);

DDX_Text(pDX, IDC_EDIT1, m_dVal1); //把edit控件IDC_EDIT1关联到一个浮点数m_dVal1

DDX_Control(pDX, IDC_EDIT1, m_ctrlEdit);//把edit控件IDC_EDIT1关联到一个CEdit控件m_ctrlEdit

}

当然,也可以先获取字符串再转换为浮点数,看个人兴趣了。

在你的dialog类里创建一个成员函数 CString或TCHAR

继承实现函数OnOK,在里面调用GetDlgItemText

或者利用DDX_Text及UpdateData(TRUE)

为Edit框声明一个CString类型的变量m_Edit,然后直接str=m_Edit。

注意:要让m_Edit取得Edit框的字符串必须有语句UpdateData(),要让界面内容的变化显现出来必须有语句UpdateData(FALSE)。

没必要吧,直接在编辑框的消息函数里面写就可以了。

你可以在change里面写,这个和你思路一样,不过推荐在失去焦点的消息里面写,这个逻辑更舒服一些。

OnChangeEdit1

OnKillfocusEdit1

另外,纯数值型还有一个方法,就是定义一个数值型的关联变量,然后在classwizard里面设置变量范围就可以了,很方便。

以上就是关于VC++MFC设计界面有多个editcontrol,如何获取多个editcontrol中的值,请具体讲一下全部的内容,包括:VC++MFC设计界面有多个editcontrol,如何获取多个editcontrol中的值,请具体讲一下、MFC中用button实现 edit control中的内容的获取,保存,清除.、MFC如何得到一个Edit控件输入的浮点值,浮点值是人为输入的,有没有专门的像GetDlgItemInt能得整型的函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10047375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存