MFC的内部總共有六大關鍵技術,架構起了整個MFC的開發平台。
MFC的六大關鍵技術包括:
a)MFC程序的初始化過程;
b)消息映射機制;
c)運行時類型識别(RTTI);
d)動态創建;
e)永久保存;
f)消息傳遞。
{六大關鍵技術的目的是為了提高開發效率,開發者隻要在局部做簡單地修改,即可處理大部分窗口事物。}
四:消息映射機制
Win32工程的消息處理機制,就是每個窗口都關聯一個全局的消息回調函數。再在消息回調函數中,通過對各種不同消息類型識别和分流來響應不同的消息。MFC的消息處理不使用全局的回調函數,而是創建一個與窗口關聯的派生類,用與消息關聯的成員函數來接收和處理窗口的消息。在類向導中選擇對應的消息,添加與該消息關聯的成員函數來處理該消息,這就是MFC的消息映射機制。
在Win32的消息處理機制中,每一個消息類型(uMsg)發送到窗口内時,可能在wParam和lParam中攜帶一些相關的數據。例如:WM_COMMAND的消息中,在wParam中記錄了點擊的按鈕或者菜單項等的ID号碼。而在WM_LBUTTONDOWN的消息中,在lParam中記錄了點擊界面的(x,y)坐标等等。Win32解析這些附帶數據的過程比較繁瑣,需要閱讀MSDN手冊中詳細的說明資料。
主要成員
成員說明
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
創建編輯控件,
并将其窗口句柄把保存在m_hWd中
void Clear( );
清空編輯框中的文字
void Copy( );
複制選中的文字到剪切闆中
void Cut( );
剪切選中的文字到剪切闆中
void Paste( );
将剪切闆内的文字粘貼到編輯框中
BOOL Undo( );
撤銷上一次操作
BOOL CanUndo( ) const;
是否可以撤銷
void GetSel( int& nStartChar, int& nEndChar ) const;
獲取被選中文字的起始位置
DWORD GetSel( ) const;
獲取被選中文字的起始位置
void SetSel( int nStart, int nEnd, BOOL bNoScroll = FALSE );
設置被選中文字的起始位置
void ReplaceSel( LPCTSTR lpszNewText, BOOL bCanUndo = FALSE );
用指定文字替換被選中的文字
int GetLineCount( ) const;
獲取多行編輯控件中的文字行數
void SetModify( BOOL bModified = TRUE );
設置或清除修改标記
BOOL GetModify( ) const;
獲取内容是否被修改的标記
五:MFC的架構組成
MFC所有封裝類一共200多個,但是MFC的内部技術不隻是簡單的封裝。MFC的内部總共有六大黑箱技術架構起整個MFC的開發平台。六大關鍵技術的目的是為了提高開發效率,開發者隻要在局部做簡單地修改,即可處理大部分窗口事物。
1、MFC的六大關鍵技術包括:MFC程序的初始化過程、運行時類型識别(RTTI)、動态創建、永久保存、消息映射和消息傳遞。
2、不借助“MFC AppWizard”手工建立MFC程序隻需幾個步驟:
a)從CWinApp類派生一個應用程序類;
b)使用派生類定義的全局變量(theApp);
c)在預定義頭文件“stdafx.h”中,禁用“windows.h”取而代之afx開頭的MFC頭文件;
d)編譯設置中選擇用“Use MFC in a Static Library”;
e)在CWinApp生類中,重寫InitInstance函數作為程序啟動代碼。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!