本人设计了一个对话框,想实现对txt文件的读取和编辑功能,对话框在位读取txt文件之前,可以进行正常的编辑如下图
但是读取了一个txt文件后在光标处就无法进行正常的编辑了,可以识别Backapace删除文字,但是无法输入,如下图
不知道是占内存过大还是什么问题,求各位大神帮忙看一下啊!谢谢!
下面是读取文件的代码
void TxtEditDlg::OnOpen1Btn()
{
// TODO: 在此添加控件通知处理程序代码
//文件类型过滤
CFileDialog cFileDlg (TRUE,_T("txt"),(LPCTSTR)NULL,OFN_ENABLESIZING | OFN_EXPLORER | OFN_PATHMUSTEXIST |
OFN_LONGNAMES | OFN_OVERWRITEPROMPT | OFN_PATHMUSTEXIST | OFN_CREATEPROMPT,
_T( "Text Files(*.txt)|*.txt|All Files (*.*)|*.*||"),this);
//获得要打开的文件
if (cFileDlg.DoModal()!=IDOK)
{
return;
}
m_ProPath8_Edit= cFileDlg.GetPathName();
UpdateData(FALSE);
CFile file(cFileDlg.GetPathName(),CFile::modeRead); //定义文件对象,并只读打开指定文件
//准备文件大小的缓冲区
CString strTxt;
char *pBuf=strTxt.GetBuffer(file.GetLength());
//读取文件
file.Read(pBuf, file.GetLength());
strTxt.ReleaseBuffer(file.GetLength());
m_TXT1_Edit.SetWindowText(strTxt); //将文件内容添加到Eidt1编辑框
}