mfc1
一、了解知識
1.1
?利用MFC進(jìn)行可視化編程,要熟悉幾個視圖——類視圖,資源視圖,工具箱等
?解決方案資源管理器——用來管理程序的代碼(.h啊.cpp啊都在這里了)。
?類視圖——用來管理程序中的類(添加類成員啊都可以在這里)。
?資源視圖——管理程序的外部資源? ? ? ? 工具箱——各種控件都在這里。
?屬性窗口——修改屬性,消息響應(yīng),函數(shù)重寫。
1.2
1、數(shù)據(jù)更新、刷新
UpdateData(true); //將edit box中看到的內(nèi)容傳給系統(tǒng)
UpdateData(false); //將系統(tǒng)中的變量傳出來,顯示在edit box
2、#include不在當(dāng)前工程文件夾下的頭文件
#include ".//fader_window//FaderWnd.h"
3、全局變量的定義
工程名.h中extern CDatabase theDB;?? //在函數(shù)體之外
工程名.cpp中CDatabase theDB;?? //在函數(shù)函數(shù)體之外
1.3
編寫一個簡單的計算器程序,實(shí)現(xiàn)對輸入數(shù)的四則運(yùn)算,主要步驟如下:
1、在對話框中放置按鈕控件和編輯框控件
具體操作:界面右邊點(diǎn)擊工具箱,根據(jù)具體需要選擇具體控件。
2、將編輯框控件添加float型變量m_edit1。
具體操作:選中編輯框點(diǎn)右鍵添加變量,將右邊類別改為value,變量名分別改為m_edit1。3、將按鈕控件重新命名
具體操作:選中按鈕點(diǎn)擊右鍵屬性,將Caption改為所需要+ ?- ? * ? ?/ ??清除??關(guān)閉,具體可根據(jù)需要來命名。
4.UpdateDate()函數(shù)的使用:
?UpdateData() 是MFC的窗口函數(shù),用來刷新數(shù)據(jù)的。
UpdateData()參數(shù)只有一個,默認(rèn)為TRUE。
UpdateData(TRUE)——刷新控件的值到對應(yīng)的變量。(外部輸入值交給內(nèi)部變量)即:控件的值—>變量。
UpdateData(FALSE)—— 拷貝變量值到控件顯示。(變量的最終運(yùn)算結(jié)果值交給外部輸出顯示)
即:變量值—>控件顯示。
Updatedata(TRUE) == 將控件的值賦值給成員變量,即從窗口編輯框中讀入數(shù)據(jù);Updatedata(FALSE)== 將成員變量的值賦值給控件,將數(shù)據(jù)從窗口顯示。
5.CString 與float 類型:用_ttof()的轉(zhuǎn)換
Float 與CString 的轉(zhuǎn)換:m_result.Format(L"%f", result);
1.4
MFC中TXT文件讀寫
正確的文本文件讀寫過程:
1.定義文件變量;2.打開指定的文件;3.向從文本文件中寫入信息;4.從文本文件中讀取信息;5.關(guān)閉文件
1、定義文件變量
定義文件變量格式:CStdioFile?文件變量;
例如,定義一個名稱為f1的文件變量,語句如下:CStdioFile f1;
2、打開指定文件
可以直接通過CStdioFile的構(gòu)造函數(shù)來打開磁盤文件,同時可以用標(biāo)志位指定打開方式(只讀、只寫、讀寫等):
CStdioFile(LPCTSTR lpszFileName,UINT nOpenFlags);
其中,lpszFileName表示要打開的文件名,可以是相對路徑或絕對路徑
nOpenFlags設(shè)置文件打開方式標(biāo)志位,可以指定用“|”連接多個標(biāo)志位。下面是常用的打開標(biāo)志:CFile::typeText:以文本文件的形式打開文件
3.向從文本文件中寫入信息
CStdioFile提供了函數(shù)WriteString來向文本文件中寫入文本,WriteString函數(shù)的格式如下:
void WriteString(LPCTSTR lpsz);
WriteString的參數(shù)lpsz是一個以”\0”字符結(jié)束的字符串,要把這個字符串的內(nèi)容寫入文件。
使用WriteString函數(shù)時,如果希望每執(zhí)行一次WriteString,文本文件中的內(nèi)容就會自動換行一次,那么就需要在需要換行的地方輸出“\n”: myFile.WriteString(“第1行\(zhòng)n”);
4.從文本文件中讀取信息
CStidoFile提供了函數(shù)ReadString來讀取文本,ReadString有兩種形式,一種為:
virtual LPTSTR ReadString(LPTSTR lpsz, UINIT nMax);
ReadString函數(shù)的參數(shù)如下:
lpsz?:是用戶提供的一個指向字符串的指針,它用來接受從文件讀出的文本,以”\0”結(jié)束。
nMax是本次所允許讀入的文本字符個數(shù),不計“\0”字符,也就是說最多能讀入nMax-1個文本字符。
ReadString的返回值是一個LPTSTR類型的指針,它指向從文件讀出的文本字符串,如果到達(dá)文件尾,則返回NULL。
ReadString的另一種形式為:
BOOL ReadString(CString& rString);
參數(shù)rString用來容納從文件讀出的文本。
CString版本忽略回車換行符,返回值是一個布爾值。如果返回值為FALSE,表示因到達(dá)文件尾而沒有讀到任何字符。
每執(zhí)行一次ReadString,就會自動從文本文件中讀取一行數(shù)據(jù),同時文件操作指針會自動跳轉(zhuǎn)到下一行。
5.關(guān)閉文件
對文件的操作完成后,使用CloseFile關(guān)閉文件。