1设一个编辑框的变量,如m_str类型设为CString类的;一个列表框的变量,如m_List,类型为Control
2调用Updatedate(TRUE),将编辑框里的数据向m_str里传。
3读取后再调用m_ListAddString(m_str)可添加到列表框中。
4再Updatedate(FALSE)
获取多行编辑框控件的文本可以有两种方法:
一种是使用DDX/DDV,当将编辑框控件所关联的变量类型选定为CString后,则不管多行编辑框的文本有多少都可用此变量来保存,从而能简单地解决多行文本的读取。但这种方法不能单独获得多行编辑框中的某一行文本。
另一种方法是使用编辑框CEdit类的相关成员函数来获取文本。例如,下面的代码获取并将显示编辑框中第二行的文本内容:
char
str[100];
if
(m_EditGetLineCount()>=2)
{
//
判断多行编辑框的文本是否有两行以上
int
nChars;
nChars
=
m_EditLineLength(m_EditLineIndex(1));
//
获取第二行文本的字符个数
//
0表示第一行,1表示第二行,依次类推。LineIndex用于将文本行转换成
//
能被LineLength识别的索引
m_EditGetLine(1,str,nChars);
//
获取第二行文本
str[nChars]
=
'\0';
MessageBox(str);
}
程序实例:cEditGetWindowTextW(m_text)获取CEdit中的数据
void CCEditDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CString m_text;
cEditGetWindowTextW(m_text);
if(IsNum(m_text)==true)
{
AfxMessageBox(CString("这不是一个字母"));
}
else
{
AfxMessageBox(CString("这是一个字母"));
}
}
bool CCEditDlg::IsNum(CString str)
{
int n=strGetLength();
for(int i=0;i<n;i++)
{
if ((str[i]<'0')||(str[i]>'9'))
return false;
}
return true;
}
无效区只能当做背景编辑,DC区域是无效的,如果文字需要经常变动,不建议采用无效区的做法。
标准CEdit首先不可能是多个文字颜色。如果显示出来的文字都是统一字体颜色,那么修改编辑框的DC字体和刷子就可以实现了;如果需要同时显示多种颜色,CEdit实现不了,重载派生需要大量代码,不如考虑使用其它方式实现,比如一个CRichEdit。
你说的文本框应该是编辑框吧
从编辑框输入数据后,需要调用UpdateData(TURE);进行数据交换,
这样用GetDlgItem()就可以获取内容了
如果要写入数据,先SetDlgItem(),之后再调用UpdateData(FLASE);进行数据交换这样才回把数据写入到编辑框
UpdateData();是对话框的更新函数
TURE的时候读取数据,FLASE的时候写入数据
编辑框内容改变后,程序和这个编辑框对应的变量并不改变,直到用UpdateData(TURE);。同样,变量改变后,编辑框也不会反应出来,直到调用UpdateData(FLASE);
CEdit m_edit; 变量类型 定义的变量
要控制edit框,首先就要知道文本框的ID,自己重新起名字比较好,然后在控件上点击右键添加变量变量名自己定,类别为contril。
然后自己搜有关mfc的函数
比如,获取edit中的文本用 GetDlgItemText(int id, cstring str)
edit id号和存放文本的字符串
等
以上就是关于在VC中怎么样将编辑框里面的内容送到列表框中显示出来全部的内容,包括:在VC中怎么样将编辑框里面的内容送到列表框中显示出来、vc++如何判断一个cedit控件中的字符是数字还是字母、VC的CEDIT类,怎么往无效区域添加内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)