①計數功能,滑鼠左鍵每點選一下,面板上的數字加1,滑鼠右鍵每點選一下,面板上的數字減1.
1.建立乙個新的mfc專案,我這裡取名為jishu 後來因為要涉及到資料的儲存,即把面板上的內容存起來,這與文件類( cjishudoc)有關,我們把顯示的數字變數ncount定義在類cjishudoc中。找到檔案檢視中的jishudoc.h ,雙擊,在public: 裡面定義成員變數 int ncount 然後找到類檢視中的cjishudoc()(建構函式),雙擊,用初始化表對ncount賦處置,這裡設為1,如圖。
2.找到cjishuview裡面的ondrsw(cdc *pdc),雙擊,在裡面寫如下**;
cstring strcount;這時候編譯執行,介面上顯示計數1strcount.format("計數 %d",pdoc->ncount);
pdc->textout(20,20,strcount); //顯示出來
3.接下來要實現左鍵加1,右鍵減1的功能,在類cjishuview中點選右鍵,add
windows message handler,選左邊的vm_lbuttondown(左鍵按下)和vm_lbuttondown,雙擊,ok。接下來對它們新增**,點選cjishuview中的cjishuview(),出現**介面,向下拉,可以看到void
cjishuview::onlbuttondown(uint nflags, cpoint point) 和
void cjishuview::onrbuttondown(uint nflags, cpoint point),先對前者寫**。ncount是在文件類中定義的,要在檢視類中使用它,涉及到了跨類使用,要使用文件類的指標(下面的*pdoc。
cjishudoc* pdoc = getdocument();這樣左鍵的功能就做好了。在void cjishuview::onrbuttondown(uint nflags, cpoint point)中新增**assert_valid(pdoc);
++pdoc->ncount;
invalidate();//重新整理
cjishudoc* pdoc = getdocument();右鍵的功能也做好了。assert_valid(pdoc);
--pdoc->ncount;
invalidate();
4.編譯,執行,點選左鍵,右鍵,功能實現。
②檔案操作
1.寫入和讀入資料(ncount)
找到類檢視中的cjishudoc,雙擊裡面的cjishudoc(),出現**介面,在裡面找到void cjishudoc::serialize(carchive& ar)
序列化函式。
寫入下面**:
if (ar.isstoring())2.點選視窗介面的新建時,實現對ncount
清0在剛才的**介面中找到bool cjishudoc::onnewdocument()
在裡面寫**ncount=0;功能實現。
3.關閉視窗時,出現提醒,是否儲存當前的資料(ncount)
在cjishuview裡面找到void cjishuview::onlbuttondown(uint nflags, cpoint point),在裡面寫如下**:
pdoc->setmodifiedflag(); //寫在右鍵函式裡也行
MFC建立及讀寫ini檔案操作
判斷檔案是否存在,如果不存在建立檔案並寫入相關資料 cfilefind finder 查詢是否存在ini檔案,若不存在,則生成乙個新的預設設定的ini檔案,這樣就保證了我們更改後的設定每次都可用 bool iffind finder.findfile t d qzze.ini if iffind i...
MFC檔案操作
講到檔案操作我們會聯想到自己手動操作檔案會涉及到哪些內容.很容易想到的是檢視檔案 資料夾 是否存在,建立,複製,刪除,剪下檔案 資料夾 另外就是設定檔案的屬性.那mfc中一些操作檔案的類也差不多是會涉及到你如上操作.檢視檔案你可能憑直觀感覺想到用find search這樣的函式.猜的大概不錯.mfc...
MFC檔案操作
檔案操作是指對檔案的讀寫操作,而在讀寫檔案前,通常需要先開啟檔案,完成讀寫操作後,需要關閉檔案。1 檔案的開啟 方式按照實現的不同,分為三種 ifstream 支援從本流類 物件 所對應的磁碟檔案中讀入資料。使用如下 ifstream 物件名 物件名 open 檔名 ofstream 支援從本流類 ...