MFC中計數及檔案操作

2022-05-13 03:51:08 字數 1867 閱讀 6642

①計數功能,滑鼠左鍵每點選一下,面板上的數字加1,滑鼠右鍵每點選一下,面板上的數字減1.

1.建立乙個新的mfc專案,我這裡取名為jishu 後來因為要涉及到資料的儲存,即把面板上的內容存起來,這與文件類( cjishudoc)有關,我們把顯示的數字變數ncount定義在類cjishudoc中。找到檔案檢視中的jishudoc.h ,雙擊,在public:  裡面定義成員變數 int ncount  然後找到類檢視中的cjishudoc()(建構函式),雙擊,用初始化表對ncount賦處置,這裡設為1,如圖。

2.找到cjishuview裡面的ondrsw(cdc *pdc),雙擊,在裡面寫如下**;

cstring strcount;

strcount.format("計數 %d",pdoc->ncount);

pdc->textout(20,20,strcount); //顯示出來

這時候編譯執行,介面上顯示計數1

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();

assert_valid(pdoc);

++pdoc->ncount;

invalidate();//重新整理

這樣左鍵的功能就做好了。在void cjishuview::onrbuttondown(uint nflags, cpoint point)中新增**

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 支援從本流類 ...