MFC编辑框输入字符串的问题:1.不相关字符‘G~Z'输不进2.有空格能自动去除 请问如何实现?

还有一个有待完善:1.先要实现的是无法输入不相关字符和空格;2.然后再考虑大量字符复制进编辑框时,不相关字符和空格能输进,但也能处理正确。我不知道第二点能否实现,主要是第一点。求教

在你的对话框上按 ctrl+w 调出classwizard,然后给对话框上的这个编辑框关联两个变量

一个是控件:m_edit,一个是变量 m_str;




然后双击该编辑框,在:OnChangeEdit1()  事件中编写代码


UpdateData(TRUE);

if(m_str.Right(1)>='G' && m_str.Right(1)<='Z' || m_str.Right(1)==' ')

{

m_str=m_str.Left(m_str.GetLength()-1);

}

UpdateData(FALSE);

m_edit.SetSel(m_str.GetLength(),m_str.GetLength());

追问

不知道什么原因,我的类向导里,无法给编辑框控件添加两个变量,只添加了Ctring,然后Add Variable按键就是暗着。另外请问你的最后一行代码起什么作用阿SetSel(...)

追答

不应该啊,你先点确定,再次ctrl+w 试试呢,注意先点下那个IDC_EDIT1。
最后的SetSel目的是把光标定位到输入框最后边,否则一UpdateData光标就没了。

追问

我把Ctring变量删了后重新打开,在ID栏里连IDC_EDIT1都没了悲剧。
多谢你啊!!我再放着问题看看

追答

你得在那个对话框资源打开的时候按 ctrl+w 才行,就是那个可以拖放编辑框到对话框的时候,大不了选中编辑框按del删掉重新放置一个而已。

温馨提示:内容为网友见解,仅供参考
无其他回答

MFC编辑框输入字符串的问题:1.不相关字符‘G~Z'输不进2.有空格能自动...
一个是控件:m_edit,一个是变量 m_str;然后双击该编辑框,在:OnChangeEdit1() 事件中编写代码 UpdateData(TRUE);if(m_str.Right(1)>='G' && m_str.Right(1)<='Z' || m_str.Right(1)==' '){ m_str=m_str.Left(m_str.GetLength()-1);} UpdateData(FALSE);m_edit.SetSel(m...

mfc 编辑框输出字符串
双击OK按钮进入ONOK()函数 void CTesttimeDlg::OnOK(){ \/\/ TODO: Add extra validation here CString str1,str2;GetItemText(IDC_B1,str1);str2="测试";SetItemText(IDC_B2,str2);CDialog::OnOK();} 楼上的说的很对!但是要将 CDialog::OnOK();这一句去掉,要不对话框关闭了,结果...

MFC中,文本编辑框字符串的,读取,截取,操作不能正常显示。
核心问题,你的代码在那个响应函数里面,是否触发了。在SetWindowText行设置断点,F5运行程序,看看是否触发断点。m_Mac先判断一下长度再Mid比较安全;UpdateData是无用的干扰代码,要去掉。这些应该不影响显示,但不合理。

MFC编辑框16进制字符串输入问题
读取输入框内容,保存到buf中 然后写个函数调用处理,把都到的内容转化成十六进制

MFC中怎样把左边编辑框的数据输入到右边的列表框内?
输入是很容易的,把左边所有的项都转换为字符,然后连成一个字符串,中间的空格用空格来填充,在字符串的最后用换行符填充,这样每输入一行就会自动换行。

MFC 如何将一组字符串循环输入指定编辑框中(不覆盖)?
编辑框,没有“追加”的办法,因此要实现“追加”效果,你只能先取出编辑框字符串到CString,之后拼接上需要追加的字符串,再写入到编辑框。或者说,既然是循环,那么都拼接好字符串之后一次写入也可以。

新手求助,关于MFC中怎么在编辑框中输出字符串变量。
计算得到的数据是数字,可以通过格式化方式把数字转换为字符串后输出,比如:数字1.2度,f 定义字符串 CString str ;str.Format("%f%s",1.2,"度");之后用str当做一个字符串输出即可。

MFC编辑框怎么能不覆盖之前的数据
这样弄:设一个字符串变量str表示第二个框的内容,当第一个框输入内容时str+=第一个框的内容,在输出str就行了

MFC静态编辑框输出如何换行?
采用默认设置就可以,将静态框的高度拉长,尽量长,高度不会随着文字的变化而伸缩。

我要在mfc对话框中限定输入的字符串长度,且要求在字符串长度达到8后...
定义编辑框的chang事件,只要编辑框内容改变就会执行函数,这样你就可以再输入的同时获取字符串长度了 ,然后就是字符串长度每到8的倍数存储一次

相似回答