VC++ 单文档项目显示打开的文件
生活随笔
收集整理的這篇文章主要介紹了
VC++ 单文档项目显示打开的文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
VC++ 新建一個單文檔項目以后,直接運行;效果如下;
界面上的菜單,工具條,都是單文檔項目框架自動生成;
然后選擇 文件 菜單中的 打開 文件;點擊后,并看不到任何反應;但是此時框架肯定進行了一些動作,保存了可以直接使用的東西;
那么如何顯示打開的文件呢?
進入類向導,類名下拉選中Doc類;消息選中 OnOpenDocument;看一下此時還沒有處理函數;
點擊 Add Function,看下面成員函數列表,添加了函數OnOpenDocument;
點 Edit Code,可以進入編輯該函數的代碼;
先在Doc類的頭文件中,添加一個成員變量;用于存儲打開的文件內容;
在OnOpenDocument函數中添加讀取文件的代碼;完成后如下;
BOOL CTest1Doc::OnOpenDocument(LPCTSTR lpszPathName) {if (!CDocument::OnOpenDocument(lpszPathName))return FALSE;// TODO: Add your specialized creation code hereif(lpszPathName!=NULL) { CFile pCFile;int hResult=pCFile.Open(lpszPathName, CFile::modeReadWrite); if(hResult != 0){// AfxMessageBox("打開文件成功");}//將文件讀到dgx字符串CString temp;//可實現重復打開文件pCFile.Read(temp.GetBuffer(pCFile.GetLength()), pCFile.GetLength()); temp.ReleaseBuffer();dgx=temp;pCFile.Close();}return TRUE; }看一下lpszPathName變量中,已經保存了選擇文件的路徑;這是由框架傳過來的,可以直接使用;
然后在視類OnDraw函數,添加在窗口上輸出文字的代碼;完成后如下;
void CTest1View::OnDraw(CDC* pDC) {CTest1Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data herepDC->DrawText(pDoc->dgx,pDoc->dgx.GetAllocLength(),CRect(50,50,500,500),DT_WORDBREAK); }在視類中可以獲取到Doc類的成員變量pDoc->dgx的內容;然后顯示;
在磁盤上新建一個測試文本,錄入一首詩歌;
然后運行程序,打開測試文本;打開,即會顯示;
視類的基本使用,可參閱
https://blog.csdn.net/bcbobo21cn/article/details/88097135
框架類、文檔類、視圖類的關系,等內容,參閱相關資料;
總結
以上是生活随笔為你收集整理的VC++ 单文档项目显示打开的文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC++多文档实例编程分析
- 下一篇: VC++ 多文档模板(添加新文档模板)编