txt文档中的换行到edit box 中不会被识别,而是继续在同一行显示下去,直到写不下才换行,这样的话和txt的显示就有差异。
已经将edit box的properties设置为Multiline 和 Vertical scroll;以下是相关部分的代码:
void CLexicalDlg::open()
{
// TODO: Add your control notification handler code here
char ch[1000];
int i=0,j=0;
ifstream infile;
CFileDialog * filedialog;
CEdit * edt=(CEdit *)GetDlgItem(IDC_EDIT1);
filedialog = new CFileDialog(true,"bak");
CString str;
if (filedialog->DoModal()==IDOK ){ //显示打开对话框
str = filedialog->GetFileName(); //读取用户选择的文件
infile.open (str);
if (!infile){
MessageBox("文件打开错误","错误");
}
}
while(infile.get(ch[i]))
i++;
for(j=i;j<1000;j++)
ch[j]=NULL;
str=ch;
edt->SetWindowText(str);
}
已经将edit box的properties设置为Multiline 和 Vertical scroll;以下是相关部分的代码:
void CLexicalDlg::open()
{
// TODO: Add your control notification handler code here
char ch[1000];
int i=0,j=0;
ifstream infile;
CFileDialog * filedialog;
CEdit * edt=(CEdit *)GetDlgItem(IDC_EDIT1);
filedialog = new CFileDialog(true,"bak");
CString str;
if (filedialog->DoModal()==IDOK ){ //显示打开对话框
str = filedialog->GetFileName(); //读取用户选择的文件
infile.open (str);
if (!infile){
MessageBox("文件打开错误","错误");
}
}
while(infile.get(ch[i]))
i++;
for(j=i;j<1000;j++)
ch[j]=NULL;
str=ch;
edt->SetWindowText(str);
}
解决方案 »
- VC的增量编译
- mfc 托盘气泡提示超时怎么不自动消失
- 关于使用EVENT同步线程的一个问题,谢谢!!
- 如何捕获由Flash发到flash activex控件的消息
- 在activex的子线程中调用IOleClientSite的QueryInterface方法失败的问题(返回值:08000FFFF)
- 数值格式化问题(delphi转vc)
- 想通过Ctrl键来控制在一个CTreeCtrl控件上选择多个节点,请问怎么实现?
- sos....,help.....
- 如何知道每个网络数据包或IP包是谁发的,是哪个应用程序发的?
- 请问后缀为img的文件如何还原?
- 关于MFC和c++标准库
- 有关VC中两个类相互引用的问题
对,用ReadString读一行,再加上换行
读取文本文件的时候,读到回车是一个 '\n', 但是 EditBox 需要 \r\n 才换行
{
// TODO: Add your control notification handler code here
char ch[1000];
int i=0,j=0;
ifstream infile;
CFileDialog * filedialog;
CEdit * edt=(CEdit *)GetDlgItem(IDC_EDIT1);
filedialog = new CFileDialog(true,"bak");
CString str;
if (filedialog->DoModal()==IDOK ){ //显示打开对话框
str = filedialog->GetFileName(); //读取用户选择的文件
infile.open (str);
if (!infile){
MessageBox("文件打开错误","错误");
}
}
while(infile.get(ch[i]))
{
if(ch[i]=='\n')
{
ch[i]='\r';
ch[++i]='\n';
i++;
continue;
}
i++;
}
for(j=i;j<1000;j++)
ch[j]=NULL;
str=ch;
edt->SetWindowText(str);
}