关于vc++在mfc中怎样在编辑框中获取数字并赋值于某个变量

关于vc++在mfc中怎样在编辑框中获取数字并赋值于某个变量,第1张

楼上给的代码有点小问题。

从你提供的代码看,应该是CString类型的关联变量吧(m_1_GetAt)

如果关联类型是int,那么直接赋值给N就好了;

如果关联类型是CString,那么:

m_2 = m_4_; //字符串赋值

n = atoi(m_2GetBuffer(0)); //转换成int整数

double d = atof(m_2GetBuffer(0)); //转换成浮点数

有个简单的办法:

就是对该EDIT框添加一个消息EN_CHANGE,该消息就是当编辑框中数据有改变时,就会运行该函数。

然后在该编辑框中输入数据时就会去判断你的数据是否超出你的边界。

例:

在消息响应函数中判断为:

int idata = GetDlgItemInt(IDC_EDIT_NUMBER);

if(idata > 1000)

{

AfxMessageBox("数据大于Max(1000)");

}

IDC_EDIT_NUMBER 为你的编辑ID。

既然是判断一个数的范围。那么肯定是要用到if语句的。

一、EditControl中应用函数来读写数据1、int变量同EditControl中数据的转换 从EditControl中获取数值变量并且把Unicode转换成ASCII的简单方法:intnum; num=GetDlgItemInt(IDC_EDIT,NULL,TRUE); 另外往EditControl上写int变量SetDlgItemInt(IDC_EDIT1,num,TRUE); 总结一下:int同EditControl之间的数据传递:GetDlgItemInt+SetDlgItemInt。2从EditControl获取字符串和往EditControl上输入字符串 从EditControl获取字符串: CStringstr; GetDlgItemText(IDC_EDITBOX,str) 这样EditControl中的字符串就会被保存在str中 SetDlgItemText(IDC_EDIT1,_T("string")); 这样EditControl将被写入string。二、EditControl应用MFC提供的DDX和DDV进行数值读写。 应用MFC提供的DDX和DDV进行数值读写非常方便,但进行编辑输入(不能是control只能是value,即只能输出不能输入),不能使用。 进行输出更改时,用DDX非常方便。直接把它当一般的变量读写即可。 vs2005中EditControl控件右键单击添加变量选择value设置变量名比如说num我们把它赋值给voltage在你需要该数据的地方UpdateData(TRUE);voltage=num;UpdateData(FALSE); 使用EditControl编辑输入时,只能将控件设置为Control,这时只能是CEdit。这时需要将CEdit中的值先读取为文本格式,再将文本转换为相应的数据型变量。使用的函数如下: intGetWindowTextA(LPTSTRlpszStringBuf,intnMaxCount)const;voidGetWindowTextA(CString&rString)const; 设置CEdit中文本的函数:voidSetWindowText(LPCTSTRlpszString); 例如:m_edit_fileNameSetWindowTextA(_T("Helloworld"));

以上就是关于关于vc++在mfc中怎样在编辑框中获取数字并赋值于某个变量全部的内容,包括:关于vc++在mfc中怎样在编辑框中获取数字并赋值于某个变量、如何获取mfc对话框数据校验函数判断的结果、richtextedit控件的使用,该怎么处理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存