MFC
微軟基礎類庫(英語:Microsoft Foundation Classes,簡稱MFC)是微軟公司提供的一個類庫(class libraries),以C++類的形式封裝了Windows API,并且包含一個應用程序框架,以減少應用程序開發人員的工作量。其中包含大量Windows句柄封裝類和很多Windows的內建控件和組件的封裝類。
MFC(MicrosoftFoundationClasses)是微軟基礎類庫的簡稱,是微軟公司實現的一個c++類庫,主要封裝了大部分的windows API函數,vc++是微軟公司開發的c/c++的集成開發環境,所謂集成開發環境,就是說利用它可以編輯,編譯,調試,而不是使用多種工具輪換操作,靈活性較大。vc也指它的內部編譯器,集成開發環境必須有一個編譯器內核,例如DevC++其中一個編譯器內核就是gcc。
MFC除了是一個類庫以外,還是一個框架,在vc++里新建一個MFC的工程,開發環境會自動幫你產生許多文件,同時它使用了mfcxx.dll。xx是版本,它封裝了mfc內核,所以你在你的代碼看不到原本的SDK編程中的消息循環等等東西,因為MFC框架幫你封裝好了,這樣你就可以專心的考慮你程序的邏輯,而不是這些每次編程都要重復的東西,但是由于是通用框架,沒有最好的針對性,當然也就喪失了一些靈活性和效率。但是MFC的封裝很淺,所以效率上損失不大。
MFC初學教程
編寫MFC程序,其實跟編寫C++程序一樣,在VS編譯平臺上新建項目,然后一直默認下一步就行,不過有其他需求則需要根據實際情況來添加。建好一個項目后,會出現兩個界面,一個是顯示窗口,一個是編程界面,類似LV中的前面板和程序框圖。在界面右邊有個工具箱,可以根據需要添加控件。
下面主要編寫一個簡單的計算器程序,實現對輸入數的四則運算,主要步驟如下:
1、在對話框中放置6個按鈕控件和3個編輯框控件
具體操作:界面右邊點擊工具箱,根據具體需要選擇具體控件。
2、將3個編輯框控件分別添加float型變量m_edit1、m_edit2、m_edit3
具體操作:選中編輯框點右鍵添加變量,將右邊類別改為value,變量名分別改為m_edit1、m_edit2、m_edit3。
3、將6個個按鈕控件重新命名
具體操作:選中按鈕點擊右鍵屬性,將Caption改為所需要+ - * / 清除 關閉,具體可根據需要來命名。
4、選擇工具箱中Group Box將四則運算框住,然后通過屬性改名字,同時在上方添加靜態文本(Static Text)來編輯命名。
界面主要部分完成,接下來就是編寫代碼,雙擊各個控件,就可自動跳轉到程序編寫部分,主要代碼如下
[html] view plain copyvoid CMFC入門Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知處理程序代碼
UpdateData(true);//從控件獲得數據賦給變量
m_edit3 = m_edit1 + m_edit2;
UpdateData(false);//輸出變量的值到控件
}
void CMFC入門Dlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知處理程序代碼
UpdateData(true);
m_edit3 = m_edit1 - m_edit2;
UpdateData(false);
}
void CMFC入門Dlg::OnBnClickedButton3()
{
// TODO: 在此添加控件通知處理程序代碼
UpdateData(true);
m_edit3 = m_edit1*m_edit2;
UpdateData(false);
}
void CMFC入門Dlg::OnBnClickedButton4()
{
// TODO: 在此添加控件通知處理程序代碼
UpdateData(true);
if (m_edit2 == 0)
{
MessageBox(_T(“除數不能為0”));
return;
}
m_edit3 = m_edit1 / m_edit2;
UpdateData(false);
}
void CMFC入門Dlg::OnBnClickedButton7()
{
// TODO: 在此添加控件通知處理程序代碼
m_edit1 = 0;
m_edit2 = 0;
m_edit3 = 0;
UpdateData(false);
GotoDlgCtrl((CEdit*)GetDlgItem(IDC_EDIT1));//設置焦點在第一個編輯框
}
最后編寫完成,運行一下,彈出一個界面如下:
驗證一下程序,以加法為例,m_edit1輸入18,m_edit2輸入36,得出結果如下所示。
評論
查看更多