查看内容

文件对话框读写文本文件(转)

  • 2020-04-02 15:03
  • 新浦京计算机网络
  • Views

/*************************************************
* 读文本文件
**************************************************/
//显示文件打开对话框
CFileDialog dlg(TRUE, "MFC_ex", "*.txt",OFN_HIDEREADONLY
  |OFN_OVERWRITEPROMPT,"Text Files(*.txt)|*.txt|SQL Files(*.sql)|*.sql|All Files(*.*)|*.*||");
if ( dlg.DoModal()!=IDOK ) return;
//获取文件的绝对路径
CString sFileName=dlg.GetPathName();
try {
  //打开文件
  CStdioFile file(sFileName, CFile::modeRead);
  //file.Open(sFileName, CFile::modeRead);   // 有了上句,这里可省略
  CString str;
  //读取文件
  while (file.GetPosition() < file.GetLength()-1) {
   file.ReadString(str);
   //sSql=sSql+s+"rn";
   TRACE("%sn", str);
  }
  file.Close();
}
catch (CFileException* e) {
  e->ReportError();
  e->Delete();
}

vc++2010MFC如何实现分别打开两张JPG图片到控件中?为什么两个控件里的图片是一样?
图片 1
为什么两个控件里的图片是一样?
void CDemoDlg::OnPaint()
{
CPaintDC dc;
DrawImage(60,130,&dc);
DrawImage(530,130,&dc);
}

/*************************************************
* 写文本文件
**************************************************/
//显示文件保存对话框
CFileDialog dlg(FALSE, "SQL", "*.txt",OFN_HIDEREADONLY
                     | OFN_OVERWRITEPROMPT,"Text Files(*.txt)|*.txt|SQL Files(*.sql)|*.sql|All Files(*.*)|*.*||");
if ( dlg.DoModal()!=IDOK ) return;
//获取文件的绝对路径
CString sFileName=dlg.GetPathName();
CStdioFile out;
//打开文件
out.Open(sFileName, CFile::modeCreate | CFile::modeWrite);
//保存文件
CString sSql="文本文件内容";
out.WriteString(sSql);
out.Close();

//第一个按钮
void CDemoDlg::OnBnClickedButton1()
{
CString szFilter= _T("JPG Files |*.jpg|JPEG Files |*.jpeg|GIF Files |*.gif|All Files |*.*||");
CFileDialog dlg(TRUE,_T("jpg|gif"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
if(dlg.DoModal() == IDOK)
{
CString strPathName1 = dlg.GetPathName();

LoadJPGFilestrPathName1);

Invalidate();//显示图片
}
}

//第二个按钮
void CDemoDlg::OnBnClickedButton2()
{
CString szFilter= _T("JPG Files |*.jpg|JPEG Files |*.jpeg|GIF Files |*.gif|All Files |*.*||");
CFileDialog dlg(TRUE,_T("jpg|gif"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
if(dlg.DoModal() == IDOK)
{
CString strPathName1 = dlg.GetPathName();

LoadJPGFilestrPathName1);

Invalidate();//显示图片
}
}

//加载JPG文件到内存
BOOL CDemoDlg::LoadJPGFile(const char *pPathname)
{
CFile file;
if(!file.OpenpPathname, CFile::modeRead))
return FALSE;
m_nFileLen=file.GetLength();

HGLOBAL hMem = ::GlobalAlloc( GMEM_MOVEABLE, m_nFileLen );
LPVOID lpBuf = ::GlobalLock;
if(file.Read(lpBuf, m_nFileLen )!=m_nFileLen)
return FALSE;
file.Close();
m_pJPGBuffer = lpBuf;

上一篇:挺忙,挺茫然 下一篇:没有了