第一篇:MFC消息映射機制分析論文
摘 要:MFC以層次結(jié)構(gòu)組織起來,比較龐雜,尤其是它的消息映射機制,更是涉及到很多底層的東西。本文通過對整個消息映射機制進(jìn)行系統(tǒng)的 分析,可以幫助程序開發(fā)人員更好地了解MFC,進(jìn)行可視化編程。
關(guān)鍵詞:消息驅(qū)動;消息映射;MFC 程序設(shè)計引言
微軟公司提供的MFC基本類庫(Microsoft Foundation Classes),是進(jìn)行可視化編程時使用最為流行的一個類庫。MFC封裝了大部分Windows ApI函數(shù)和Windows控件,使得程序的開發(fā)變得簡單,極大的縮短了程序的開發(fā)周期。MFC獨創(chuàng)的Document/View框架結(jié)構(gòu),能夠?qū)⒐芾頂?shù)據(jù)的代碼和顯示數(shù)據(jù)的程序代碼分開,并且設(shè)計了一套方便的消息映射和命令傳遞機制,方便程序員的開發(fā)使用。其中消息映射機制本身比較龐大和復(fù)雜,對它的分析和了解無疑有助于我們寫出更為合理的高效的程序。這里我們分析一下MFC的消息映射機制,以了解MFC是如何對Windows的消息加以封裝,方便用戶的開發(fā)。SDK下的消息機制實現(xiàn)
首先,簡單回顧一下SDK下我們是如何進(jìn)行Windows的程序開發(fā)的。Windows程序的運行是依靠外部發(fā)生的事件來驅(qū)動的,事件由操作系統(tǒng)捕捉,以消息的形式進(jìn)入消息隊列,然后通過消息循環(huán)從隊列中不斷取出消息,送到對應(yīng)的窗口過程里處理。相對于DOS程序,Windows是以WinMain作為程序的入口點,以下就是一個簡化的Win32程序的主體,通過while語句實現(xiàn)消息循環(huán):
WinMain(…)
{
MSG msg;
RegisterClass(…);// 注冊窗口類
CreateWindow(…);// 創(chuàng)建窗口
ShowWindow(…);// 顯示窗口
UpdateWindow(…);
While(GetMessage(&msg,…)){ // 消息循環(huán)
TranslateMessage(…);
DispatchMessage(…);
}
return msg.wparam;
}
其中,msg代表消息,程序是通過GetMessage函數(shù)從和某個線程相對應(yīng)的消息隊列里面把消息取出來并放到消息變量msg里面。然后TranslateMessage函數(shù)用來把鍵盤消息轉(zhuǎn)化并放到響應(yīng)的消息隊列里面,最后DispatchMessage函數(shù)把消息分發(fā)到相關(guān)的窗口過程去處理。窗口過程根據(jù)消息的類型對不同的消息進(jìn)行相關(guān)的處理。在SDK編程過程中,用戶需要在窗口過程中分析消息的類型及其參數(shù)的含義,然后做不同的處理,相對比較麻煩;而MFC把消息調(diào)用的過程給封裝起來,使用戶能夠通過ClassWizard方便的使用和處理Windows的各種消息。MFC中的消息映射機制
在MFC的框架結(jié)構(gòu)下,“消息映射”是通過巧妙的宏定義,形成一張消息映射表格來進(jìn)行的。這樣一旦消息發(fā)生,F(xiàn)ramework就可以根據(jù)消息映射表格來進(jìn)行消息映射和命令傳遞。
首先在需要進(jìn)行消息處理的類的頭文件(.H)里,都會含有DECLARE_MESSAGE_MAp()宏,聲明該類擁有消息映射表格:
class CscribbleDoc:public Cdocument
{
…
DECLARE_MESSAGE_MAp()
};
然后在類 應(yīng)用 程序文件(.Cpp)實現(xiàn)這一表格
BEGIN_MESSAGE_MAp(CInheritClass, CBaseClass)
//{{AFX_MSG_MAp(CInheritClass)
ON_COMMAND(ID_EDIT_COpY,OnEditCopy)
………
//}}AFX_MSG_MAp
END_MESSAGE_MAp()
----這里主要進(jìn)行消息映射的實現(xiàn),把它和消息處理函數(shù)聯(lián)系在一起。其中出現(xiàn)三個宏,第一個宏是BEGIN_MESSAGE_MAp有兩個參數(shù),分別是擁有消息表格的類,及其父類。第二個宏是ON_COMMAND,指定命令消息的處理函數(shù)名稱。第三個宏是END_MESSAGE_MAp()作為結(jié)尾符號。中間的奇怪符號//}}和//{{,是ClassWizard產(chǎn)生的,對程序無 影響。
觀察DECLARE_MESSAGE_MAp的定義:
#define DECLARE_MESSAGE_MAp()
private:
static const AFX_MESSAGE_ENTRY _messageEntries[];
protected:
static AFX_DATA const AFX_MSGMAp messageMap;
virtual const AFX_MSGMAp* GetMessageMap()const;
里面又包含了MFC新定義的兩個數(shù)據(jù)結(jié)構(gòu),如下:
AFX_MSGMAp_ENTRY
struct AFX_MSGMAp_ENTRY
{
UINT nMessage;// windows message
UINT nCode;// control code or WM_NOTIFY code
UINT nID;// control ID(or 0 for windows messages)
UINT nLastID;// used for entries specifying a range of control id's
UINT nSig;// signature type(action)or pointer to message #
AFX_pMSG pfn;// routine to call(or special value)
};
和AFX_MSGMAp
struct AFX_MSGMAp
{
const AFX_MSGMAp* pBaseMap;
const AFX_MSGMAp_ENTRY* lpEntries;
};
其中AFX_MSGMAp_ENTRY結(jié)構(gòu)包含了一個消息的所有相關(guān)信息,而AFX_MSGMAp主要作用有兩個,一是用來得到基類的消息映射入口地址。二是得到本身的消息映射入口地址。
實際上,MFC把所有的消息一條條填入到AFX_MSGMAp_ENTRY結(jié)構(gòu)中去,形成一個數(shù)組,該數(shù)組存放了所有的消息和與它們相關(guān)的參數(shù)。同時通過AFX_MSGMAp能得到該數(shù)組的首地址,同時得到基類的消息映射入口地址。當(dāng)本身對該消息不響應(yīng)的時候,就可以上溯到基類的消息映射表尋找對應(yīng)的消息響應(yīng)。
現(xiàn)在我們來分析MFC是如何讓窗口過程來處理消息的,實際上所有MFC的窗口類都通過鉤子函數(shù)_AfxCbtFilterHook截獲消息,并且在鉤子函數(shù)_AfxCbtFilterHook中把窗口過程設(shè)定為AfxWndproc。原來的窗口過程保存在成員變量m_pfnSuper中。
在MFC框架下,一般一個消息的處理過程是這樣的。
(1)函數(shù)AfxWndproc接收Windows操作系統(tǒng)發(fā)送的消息。
(2)函數(shù)AfxWndproc調(diào)用函數(shù)AfxCallWndproc進(jìn)行消息處理,這里一個進(jìn)步是把對句柄的操作轉(zhuǎn)換成對CWnd對象的操作。
(3)函數(shù)AfxCallWndproc調(diào)用CWnd類的 方法 Windowproc進(jìn)行消息處理。
(4)Windowproc調(diào)用OnWndMsg進(jìn)行正式的消息處理,即把消息派送到相關(guān)的方法中去處理。在CWnd類中都保存了一個AFX_MSGMAp的結(jié)構(gòu),而在AFX_MSGMAp結(jié)構(gòu)中保存有所有我們用ClassWizard生成的消息的數(shù)組的入口,我們把傳給OnWndMsg的message和數(shù)組中的所有的message進(jìn)行比較,找到匹配的那一個消息。實際上系統(tǒng)是通過函數(shù)AfxFindMessageEntry來實現(xiàn)的。找到了那個message,實際上我們就得到一個AFX_MSGMAp_ENTRY結(jié)構(gòu),而我們在上面已經(jīng)提到AFX_MSGMAp_ENTRY保存了和該消息相關(guān)的所有信息,其中主要是消息的動作標(biāo)識和相關(guān)的執(zhí)行函數(shù)。然后我們就可以根據(jù)消息的動作標(biāo)識調(diào)用相關(guān)的執(zhí)行函數(shù),而這個執(zhí)行函數(shù)實際上就是通過ClassWizard在類實現(xiàn)中定義的一個方法。這樣就把消息的處理轉(zhuǎn)化到類中的一個方法的實現(xiàn)上。
(5)如果OnWndMsg方法沒有對消息進(jìn)行處理的話,就調(diào)用DefWindowproc對消息進(jìn)行處理。這是實際上是調(diào)用原來的窗口過程進(jìn)行缺省的消息處理。所以如果正常的消息處理的話,MFC窗口類是完全脫離了原來的窗口過程,用自己的一套體系結(jié)構(gòu)實現(xiàn)消息的映射和處理。即先調(diào)用MFC窗口類掛上去的窗口過程,再調(diào)用原先的窗口過程。用戶面對的消息參數(shù)將不再是固定的wparam和lparam,而是和消息類型具體相關(guān)的參數(shù)。比如和消息WM_LButtonDown相對應(yīng)的方法OnLButtonDown的兩個參數(shù)是nFlags和point。nFlags表示在按下鼠標(biāo)左鍵的時候是否有其他虛擬鍵按下,point更簡單,就是表示鼠標(biāo)的位置。同時MFC窗口類消息傳遞中還提供了兩個函數(shù),分別為WalkpreTranslateTree和preTranslateMessage。我們知道利用MFC框架生成的程序,都是從CWinApp開始執(zhí)行的,而CWinapp實際繼承了CWinThread類。在CWinThread的運行過程中會調(diào)用窗口類中的WalkpreTranslateTree方法。而WalkpreTranslateTree方法實際上就是從當(dāng)前窗口開始查找愿意進(jìn)行消息翻譯的類,直到找到窗口沒有父類為止。在WalkpreTranslateTree方法中調(diào)用了preTranslateMessage方法。實際上preTranslateMessage最大的好處是我們在消息處理前可以在這個方法里面先做一些事情。舉一個簡單的例子,比如我們希望在一個CEdit對象里,把所有的輸入的字母都以大寫的形式出現(xiàn)。我們只需要在preTranslateMessage方法中判斷message是否為WM_CHAR,如果是的話,把wparam(表示鍵值)由小寫字母的值該為大寫字母的值就實現(xiàn)了這個功能。小結(jié)
MFC通過巧妙的宏定義把消息調(diào)用的過程給封裝起來,使用戶能夠通過ClassWizard方便的使用和處理Windows的各種消息。通過對MFC消息映射機制的分析,不僅能夠使我們更好的使用MFC類庫,同時,對于我們自己設(shè)計程序框架和類,無疑也有相當(dāng)大的幫助。
參考 文獻(xiàn) :
[1] 侯俊杰 著,深入淺出MFC(第2版)[M].湖北:華中 科技 大學(xué)出版社,2001.5
[2] David J.Kruglinski著,Visual C 技術(shù)內(nèi)幕(第五版)[M].北京:北京希望 電子 出版社,2001.1
第二篇:MFC消息處理函數(shù)總結(jié)
1.AfxWndProc()該函數(shù)負(fù)責(zé)接收消息,找到消息所屬的CWnd對象,然后調(diào)用AfxCallWnd
Proc
2.AfxCallWndProc()該函數(shù)負(fù)責(zé)保存消息(保存的內(nèi)容主要是消息標(biāo)識符和消息參數(shù))供應(yīng)
用程序以后使用,然后調(diào)用WindowProc()函數(shù)
3.WindowProc()該函數(shù)負(fù)責(zé)發(fā)送消息到OnWndMsg()函數(shù),如果未被處理,則調(diào)用DefWin
dowProc()函數(shù)
4.OnWndMsg()該函數(shù)的功能首先按字節(jié)對消息進(jìn)行排序,對于WM_COMMAND消息,調(diào)用OnCommand()消息響應(yīng)函數(shù),對于WM_NOTIFY消息調(diào)用OnNotify()消息響應(yīng)函數(shù)。任何被遺漏的消息將是一個窗口消息。OnWndMsg()函數(shù)搜索類的消息映像,以找到一個能處理任何窗口消息的處理函數(shù)。如果OnWndMsg()函數(shù)不能找到這樣的處理函數(shù)的話,則把消
息返回到WindowProc()函數(shù),由它將消息發(fā)送給DefWindowProc()函數(shù)
5.OnCommand()該函數(shù)查看這是不是一個控件通知(lParam參數(shù)不為NULL,如果lParam參數(shù)為空的話,說明該消息不是控件通知),如果它是,OnCommand()函數(shù)會試圖將消息映射到制造通知的控件;如果他不是一個控件通知(或者如果控件拒絕映射的消息)OnCommand()
就會調(diào)用OnCmdMsg()函數(shù)
6.OnCmdMsg()根據(jù)接收消息的類,OnCmdMsg()函數(shù)將在一個稱為命令傳遞(Command Routing)的過程中潛在的傳遞命令消息和控件通知。例如:如果擁有該窗口的類是一個框架類,則命令和通知消息也被傳遞到視圖和文檔類,并為該類尋找一個消息處理函數(shù)
MFC應(yīng)用程序創(chuàng)建窗口的過程
1.PreCreateWindow()該函數(shù)是一個重載函數(shù),在窗口被創(chuàng)建前,可以在該重載函數(shù)中改變
創(chuàng)建參數(shù)(可以設(shè)置窗口風(fēng)格等等)
2.PreSubclassWindow()這也是一個重載函數(shù),允許首先子分類一個窗口
3.OnGetMinMaxInfo()該函數(shù)為消息響應(yīng)函數(shù),響應(yīng)的是WM_GETMINMAXINFO消息,允許設(shè)置窗口的最大或者最小尺寸
4.OnNcCreate()該函數(shù)也是一個消息響應(yīng)函數(shù),響應(yīng)WM_NCCREATE消息,發(fā)送消息以告
訴窗口的客戶區(qū)即將被創(chuàng)建
5.OnNcCalcSize()該函數(shù)也是消息響應(yīng)函數(shù),響應(yīng)WM_NCCALCSIZE消息,作用是允許改
變窗口客戶區(qū)大小
6.OnCreate()該函數(shù)也是一個消息響應(yīng)函數(shù),響應(yīng)WM_CREATE消息,發(fā)送消息告訴一個
窗口已經(jīng)被創(chuàng)建
7.OnSize()該函數(shù)也是一個消息響應(yīng)函數(shù),響應(yīng)WM_SIZE消息,發(fā)送該消息以告訴該窗口
大小已經(jīng)發(fā)生變化
8.OnMove()消息響應(yīng)函數(shù),響應(yīng)WM_MOVE消息,發(fā)送此消息說明窗口在移動
9.OnChildNotify()該函數(shù)為重載函數(shù),作為部分消息映射被調(diào)用,告訴父窗口即將被告知一
個窗口剛剛被創(chuàng)建
MFC應(yīng)用程序關(guān)閉窗口的順序(非模態(tài)窗口)
1.OnClose()消息響應(yīng)函數(shù),響應(yīng)窗口的WM_CLOSE消息,當(dāng)關(guān)閉按鈕被單擊的時候發(fā)送
此消息
2.OnDestroy()消息響應(yīng)函數(shù),響應(yīng)窗口的WM_DESTROY消息,當(dāng)一個窗口將被銷毀時,發(fā)送此消息
3.OnNcDestroy()消息響應(yīng)函數(shù),響應(yīng)窗口的WM_NCDESTROY消息,當(dāng)一個窗口被銷毀
后發(fā)送此消息
4.PostNcDestroy()重載函數(shù),作為處理OnNcDestroy()函數(shù)的最后動作,被CWnd調(diào)用
MFC應(yīng)用程序中打開模式對話框的函數(shù)調(diào)用順序
1.DoModal()重載函數(shù),重載DoModal()成員函數(shù)
2.PreSubclassWindow()重載函數(shù),允許首先子分類一個窗口
3.OnCreate()消息響應(yīng)函數(shù),響應(yīng)WM_CREATE消息,發(fā)送此消息以告訴一個窗口已經(jīng)被
創(chuàng)建
4.OnSize()消息響應(yīng)函數(shù),響應(yīng)WM_SIZE消息,發(fā)送此消息以告訴窗口大小發(fā)生變化
5.OnMove()消息響應(yīng)函數(shù),響應(yīng)WM_MOVE消息,發(fā)送此消息,以告訴窗口正在移動
6.OnSetFont()消息響應(yīng)函數(shù),響應(yīng)WM_SETFONT消息,發(fā)送此消息,以允許改變對話框
中控件的字體
7.OnInitDialog()消息響應(yīng)函數(shù),響應(yīng)WM_INITDIALOG消息,發(fā)送此消息以允許初始化對
話框中的控件,或者是創(chuàng)建新控件
8.OnShowWindow()消息響應(yīng)函數(shù),響應(yīng)WM_SHOWWINDOW消息,該函數(shù)被ShowWind
ow()函數(shù)調(diào)用
9.OnCtlColor()消息響應(yīng)函數(shù),響應(yīng)WM_CTLCOLOR消息,被父窗口發(fā)送已改變對話框或
對話框上面控件的顏色
10.OnChildNotify()重載函數(shù),作為WM_CTLCOLOR消息的結(jié)果發(fā)送
MFC應(yīng)用程序中關(guān)閉模式對話框的順序
1.OnClose()消息響應(yīng)函數(shù),響應(yīng)WM_CLOSE消息,當(dāng)“關(guān)閉”按鈕被單擊的時候,該函數(shù)
被調(diào)用
2.OnKillFocus()消息響應(yīng)函數(shù),響應(yīng)WM_KILLFOCUS消息,當(dāng)一個窗口即將失去鍵盤輸
入焦點以前被發(fā)送
3.OnDestroy()消息響應(yīng)函數(shù),響應(yīng)WM_DESTROY消息,當(dāng)一個窗口即將被銷毀時,被發(fā)
送
4.OnNcDestroy()消息響應(yīng)函數(shù),響應(yīng)WM_NCDESTROY消息,當(dāng)一個窗口被銷毀以后被
發(fā)送
5.PostNcDestroy()重載函數(shù),作為處理OnNcDestroy()函數(shù)的最后動作被CWnd調(diào)用
打開無模式對話框的順序
1.PreSubclassWindow()重載函數(shù),允許用戶首先子分類一個窗口
2.OnCreate()消息響應(yīng)函數(shù),響應(yīng)WM_CREATE消息,發(fā)送此消息以告訴一個窗口已經(jīng)被
創(chuàng)建
3.OnSize()消息響應(yīng)函數(shù),響應(yīng)WM_SIZE消息,發(fā)送此消息以告訴窗口大小發(fā)生變化
4.OnMove()消息響應(yīng)函數(shù),響應(yīng)WM_MOVE消息,發(fā)送此消息以告訴窗口正在移動
5.OnSetFont()消息響應(yīng)函數(shù),響應(yīng)WM_SETFONT消息,發(fā)送此消息以允許改變對話框中
控件的字體
以上這些的執(zhí)行都是按給定的順序執(zhí)行!
只有清楚的了解應(yīng)用程序的執(zhí)行順序,才能在編寫代碼的時候知道,在什么時候應(yīng)該執(zhí)行什
么,以及在什么地方該處理什么!
這只是本人總結(jié)的一點小小的經(jīng)驗,希望能對MFC的初學(xué)者有所幫助!MFC應(yīng)用程序中處
理消息的順序
1.AfxWndProc()該函數(shù)負(fù)責(zé)接收消息,找到消息所屬的CWnd對象,然后調(diào)用AfxCallWnd
Proc
2.AfxCallWndProc()該函數(shù)負(fù)責(zé)保存消息(保存的內(nèi)容主要是消息標(biāo)識符和消息參數(shù))供應(yīng)
用程序以后使用,然后調(diào)用WindowProc()函數(shù)
3.WindowProc()該函數(shù)負(fù)責(zé)發(fā)送消息到OnWndMsg()函數(shù),如果未被處理,則調(diào)用DefWin
dowProc()函數(shù)
4.OnWndMsg()該函數(shù)的功能首先按字節(jié)對消息進(jìn)行排序,對于WM_COMMAND消息,調(diào)用OnCommand()消息響應(yīng)函數(shù),對于WM_NOTIFY消息調(diào)用OnNotify()消息響應(yīng)函數(shù)。任何被遺漏的消息將是一個窗口消息。OnWndMsg()函數(shù)搜索類的消息映像,以找到一個能處理任何窗口消息的處理函數(shù)。如果OnWndMsg()函數(shù)不能找到這樣的處理函數(shù)的話,則把消
息返回到WindowProc()函數(shù),由它將消息發(fā)送給DefWindowProc()函數(shù)
5.OnCommand()該函數(shù)查看這是不是一個控件通知(lParam參數(shù)不為NULL,如果lParam參數(shù)為空的話,說明該消息不是控件通知),如果它是,OnCommand()函數(shù)會試圖將消息映射到制造通知的控件;如果他不是一個控件通知(或者如果控件拒絕映射的消息)OnCommand()
就會調(diào)用OnCmdMsg()函數(shù)
6.OnCmdMsg()根據(jù)接收消息的類,OnCmdMsg()函數(shù)將在一個稱為命令傳遞(Command Routing)的過程中潛在的傳遞命令消息和控件通知。例如:如果擁有該窗口的類是一個框架類,則命令和通知消息也被傳遞到視圖和文檔類,并為該類尋找一個消息處理函數(shù)
MFC應(yīng)用程序創(chuàng)建窗口的過程
1.PreCreateWindow()該函數(shù)是一個重載函數(shù),在窗口被創(chuàng)建前,可以在該重載函數(shù)中改變
創(chuàng)建參數(shù)(可以設(shè)置窗口風(fēng)格等等)
2.PreSubclassWindow()這也是一個重載函數(shù),允許首先子分類一個窗口
3.OnGetMinMaxInfo()該函數(shù)為消息響應(yīng)函數(shù),響應(yīng)的是WM_GETMINMAXINFO消息,允許設(shè)置窗口的最大或者最小尺寸
4.OnNcCreate()該函數(shù)也是一個消息響應(yīng)函數(shù),響應(yīng)WM_NCCREATE消息,發(fā)送消息以告
訴窗口的客戶區(qū)即將被創(chuàng)建
5.OnNcCalcSize()該函數(shù)也是消息響應(yīng)函數(shù),響應(yīng)WM_NCCALCSIZE消息,作用是允許改
變窗口客戶區(qū)大小
6.OnCreate()該函數(shù)也是一個消息響應(yīng)函數(shù),響應(yīng)WM_CREATE消息,發(fā)送消息告訴一個
窗口已經(jīng)被創(chuàng)建
7.OnSize()該函數(shù)也是一個消息響應(yīng)函數(shù),響應(yīng)WM_SIZE消息,發(fā)送該消息以告訴該窗口
大小已經(jīng)發(fā)生變化
8.OnMove()消息響應(yīng)函數(shù),響應(yīng)WM_MOVE消息,發(fā)送此消息說明窗口在移動
9.OnChildNotify()該函數(shù)為重載函數(shù),作為部分消息映射被調(diào)用,告訴父窗口即將被告知一
個窗口剛剛被創(chuàng)建
MFC應(yīng)用程序關(guān)閉窗口的順序(非模態(tài)窗口)
1.OnClose()消息響應(yīng)函數(shù),響應(yīng)窗口的WM_CLOSE消息,當(dāng)關(guān)閉按鈕被單擊的時候發(fā)送
此消息
2.OnDestroy()消息響應(yīng)函數(shù),響應(yīng)窗口的WM_DESTROY消息,當(dāng)一個窗口將被銷毀時,發(fā)送此消息
3.OnNcDestroy()消息響應(yīng)函數(shù),響應(yīng)窗口的WM_NCDESTROY消息,當(dāng)一個窗口被銷毀
后發(fā)送此消息
4.PostNcDestroy()重載函數(shù),作為處理OnNcDestroy()函數(shù)的最后動作,被CWnd調(diào)用
MFC應(yīng)用程序中打開模式對話框的函數(shù)調(diào)用順序
1.DoModal()重載函數(shù),重載DoModal()成員函數(shù)
2.PreSubclassWindow()重載函數(shù),允許首先子分類一個窗口
3.OnCreate()消息響應(yīng)函數(shù),響應(yīng)WM_CREATE消息,發(fā)送此消息以告訴一個窗口已經(jīng)被
創(chuàng)建
4.OnSize()消息響應(yīng)函數(shù),響應(yīng)WM_SIZE消息,發(fā)送此消息以告訴窗口大小發(fā)生變化
5.OnMove()消息響應(yīng)函數(shù),響應(yīng)WM_MOVE消息,發(fā)送此消息,以告訴窗口正在移動
6.OnSetFont()消息響應(yīng)函數(shù),響應(yīng)WM_SETFONT消息,發(fā)送此消息,以允許改變對話框
中控件的字體
7.OnInitDialog()消息響應(yīng)函數(shù),響應(yīng)WM_INITDIALOG消息,發(fā)送此消息以允許初始化對
話框中的控件,或者是創(chuàng)建新控件
8.OnShowWindow()消息響應(yīng)函數(shù),響應(yīng)WM_SHOWWINDOW消息,該函數(shù)被ShowWind
ow()函數(shù)調(diào)用
9.OnCtlColor()消息響應(yīng)函數(shù),響應(yīng)WM_CTLCOLOR消息,被父窗口發(fā)送已改變對話框或
對話框上面控件的顏色
10.OnChildNotify()重載函數(shù),作為WM_CTLCOLOR消息的結(jié)果發(fā)送
MFC應(yīng)用程序中關(guān)閉模式對話框的順序
1.OnClose()消息響應(yīng)函數(shù),響應(yīng)WM_CLOSE消息,當(dāng)“關(guān)閉”按鈕被單擊的時候,該函數(shù)
被調(diào)用
2.OnKillFocus()消息響應(yīng)函數(shù),響應(yīng)WM_KILLFOCUS消息,當(dāng)一個窗口即將失去鍵盤輸
入焦點以前被發(fā)送
3.OnDestroy()消息響應(yīng)函數(shù),響應(yīng)WM_DESTROY消息,當(dāng)一個窗口即將被銷毀時,被發(fā)
送
4.OnNcDestroy()消息響應(yīng)函數(shù),響應(yīng)WM_NCDESTROY消息,當(dāng)一個窗口被銷毀以后被
發(fā)送
5.PostNcDestroy()重載函數(shù),作為處理OnNcDestroy()函數(shù)的最后動作被CWnd調(diào)用
打開無模式對話框的順序
1.PreSubclassWindow()重載函數(shù),允許用戶首先子分類一個窗口
2.OnCreate()消息響應(yīng)函數(shù),響應(yīng)WM_CREATE消息,發(fā)送此消息以告訴一個窗口已經(jīng)被
創(chuàng)建
3.OnSize()消息響應(yīng)函數(shù),響應(yīng)WM_SIZE消息,發(fā)送此消息以告訴窗口大小發(fā)生變化
4.OnMove()消息響應(yīng)函數(shù),響應(yīng)WM_MOVE消息,發(fā)送此消息以告訴窗口正在移動
5.OnSetFont()消息響應(yīng)函數(shù),響應(yīng)WM_SETFONT消息,發(fā)送此消息以允許改變對話框中
控件的字體
評論(1)|閱讀(570)|添加評論
第三篇:MFC應(yīng)用程序中處理消息的順序(模版)
MFC應(yīng)用程序中處理消息的順序
MFC應(yīng)用程序中處理消息的順序
1.AfxWndProc()該函數(shù)負(fù)責(zé)接收消息,找到消息所屬的CWnd對象,然后調(diào)用AfxCallWndProc
2.AfxCallWndProc()該函數(shù)負(fù)責(zé)保存消息(保存的內(nèi)容主要是消息標(biāo)識符和消息參數(shù))供應(yīng)用程序以后使用,然后調(diào)用WindowProc()函數(shù)
3.WindowProc()該函數(shù)負(fù)責(zé)發(fā)送消息到OnWndMsg()函數(shù),如果未被處理,則調(diào)用DefWindowProc()函數(shù)
4.OnWndMsg()該函數(shù)的功能首先按字節(jié)對消息進(jìn)行排序,對于WM_COMMAND消息,調(diào)用OnCommand()消息響應(yīng)函數(shù),對于WM_NOTIFY消息調(diào)用OnNotify()消息響應(yīng)函數(shù)。任何被遺漏的消息將是一個窗口消息。OnWndMsg()函數(shù)搜索類的消息映像,以找到一個能處理任何窗口消息的處理函數(shù)。如果OnWndMsg()函數(shù)不能找到這樣的處理函數(shù)的話,則把消息返回到WindowProc()函數(shù),由它將消息發(fā)送給DefWindowProc()函數(shù)
5.OnCommand()該函數(shù)查看這是不是一個控件通知(lParam參數(shù)不為NULL,如果lParam參數(shù)為空的話,說明該消息不是控件通知),如果它是,OnCommand()函數(shù)會試圖將消息映射到制造通知的控件;如果他不是一個控件通知(或者如果控件拒絕映射的消息)OnCommand()就會調(diào)用OnCmdMsg()函數(shù)
6.OnCmdMsg()根據(jù)接收消息的類,OnCmdMsg()函數(shù)將在一個稱為命令傳遞(Command Routing)的過程中潛在的傳遞命令消息和控件通知。例如:如果擁有該窗口的類是一個框架類,則命令和通知消息也被傳遞到視圖和文檔類,并為該類尋找一個消息處理函數(shù)
MFC應(yīng)用程序創(chuàng)建窗口的過程
1.PreCreateWindow()該函數(shù)是一個重載函數(shù),在窗口被創(chuàng)建前,可以在該重載函數(shù)中改變創(chuàng)建參數(shù)(可以設(shè)置窗口風(fēng)格等等)
2.PreSubclassWindow()這也是一個重載函數(shù),允許首先子分類一個窗口
3.OnGetMinMaxInfo()該函數(shù)為消息響應(yīng)函數(shù),響應(yīng)的是WM_GETMINMAXINFO消息,允許設(shè)置窗口的最大或者最小尺寸
4.OnNcCreate()該函數(shù)也是一個消息響應(yīng)函數(shù),響應(yīng)WM_NCCREATE消息,發(fā)送消息以告訴窗口的客戶區(qū)即將被創(chuàng)建
5.OnNcCalcSize()該函數(shù)也是消息響應(yīng)函數(shù),響應(yīng)WM_NCCALCSIZE消息,作用是允許改變窗口客戶區(qū)大小
6.OnCreate()該函數(shù)也是一個消息響應(yīng)函數(shù),響應(yīng)WM_CREATE消息,發(fā)送消息告訴一個窗口已經(jīng)被創(chuàng)建
7.OnSize()該函數(shù)也是一個消息響應(yīng)函數(shù),響應(yīng)WM_SIZE消息,發(fā)送該消息以告訴該窗口大小已經(jīng)發(fā)生變化
8.OnMove()消息響應(yīng)函數(shù),響應(yīng)WM_MOVE消息,發(fā)送此消息說明窗口在移動
9.OnChildNotify()該函數(shù)為重載函數(shù),作為部分消息映射被調(diào)用,告訴父窗口即將被告知一個窗口剛剛被創(chuàng)建
MFC應(yīng)用程序關(guān)閉窗口的順序(非模態(tài)窗口)
1.OnClose()消息響應(yīng)函數(shù),響應(yīng)窗口的WM_CLOSE消息,當(dāng)關(guān)閉按鈕被單擊的時候發(fā)送此消息
2.OnDestroy()消息響應(yīng)函數(shù),響應(yīng)窗口的WM_DESTROY消息,當(dāng)一個窗口將被銷毀時,發(fā)送此消息
3.OnNcDestroy()消息響應(yīng)函數(shù),響應(yīng)窗口的WM_NCDESTROY消息,當(dāng)一個窗口被銷毀后發(fā)送此消息
4.PostNcDestroy()重載函數(shù),作為處理OnNcDestroy()函數(shù)的最后動作,被CWnd調(diào)用MFC應(yīng)用程序中打開模式對話框的函數(shù)調(diào)用順序
1.DoModal()重載函數(shù),重載DoModal()成員函數(shù)
2.PreSubclassWindow()重載函數(shù),b31.org 允許首先子分類一個窗口
3.OnCreate()消息響應(yīng)函數(shù),響應(yīng)WM_CREATE消息,發(fā)送此消息以告訴一個窗口已經(jīng)被創(chuàng)建
4.OnSize()消息響應(yīng)函數(shù),響應(yīng)WM_SIZE消息,發(fā)送此消息以告訴窗口大小發(fā)生變化
5.OnMove()消息響應(yīng)函數(shù),響應(yīng)WM_MOVE消息,發(fā)送此消息,以告訴窗口正在移動
6.OnSetFont()消息響應(yīng)函數(shù),響應(yīng)WM_SETFONT消息,發(fā)送此消息,以允許改變對話框中控件的字體
7.OnInitDialog()消息響應(yīng)函數(shù),響應(yīng)WM_INITDIALOG消息,發(fā)送此消息以允許初始化對話框中的控件,或者是創(chuàng)建新控件
8.OnShowWindow()消息響應(yīng)函數(shù),響應(yīng)WM_SHOWWINDOW消息,該函數(shù)被ShowWindow()函數(shù)調(diào)用
9.OnCtlColor()消息響應(yīng)函數(shù),響應(yīng)WM_CTLCOLOR消息,被父窗口發(fā)送已改變對話框或?qū)υ捒蛏厦婵丶念伾?/p>
10.OnChildNotify()重載函數(shù),作為WM_CTLCOLOR消息的結(jié)果發(fā)送
MFC應(yīng)用程序中關(guān)閉模式對話框的順序
1.OnClose()消息響應(yīng)函數(shù),響應(yīng)WM_CLOSE消息,當(dāng)“關(guān)閉”按鈕被單擊的時候,該函數(shù)被調(diào)用
2.OnKillFocus()消息響應(yīng)函數(shù),響應(yīng)WM_KILLFOCUS消息,當(dāng)一個窗口即將失去鍵盤輸入焦點以前被發(fā)送
3.OnDestroy()消息響應(yīng)函數(shù),響應(yīng)WM_DESTROY消息,當(dāng)一個窗口即將被銷毀時,被發(fā)送
4.OnNcDestroy()消息響應(yīng)函數(shù),響應(yīng)WM_NCDESTROY消息,當(dāng)一個窗口被銷毀以后被發(fā)送
5.PostNcDestroy()重載函數(shù),作為處理OnNcDestroy()函數(shù)的最后動作被CWnd調(diào)用打開無模式對話框的順序
1.PreSubclassWindow()重載函數(shù),允許用戶首先子分類一個窗口
2.OnCreate()消息響應(yīng)函數(shù),響應(yīng)WM_CREATE消息,發(fā)送此消息以告訴一個窗口已經(jīng)被創(chuàng)建
3.OnSize()消息響應(yīng)函數(shù),響應(yīng)WM_SIZE消息,發(fā)送此消息以告訴窗口大小發(fā)生變化
4.OnMove()消息響應(yīng)函數(shù),響應(yīng)WM_MOVE消息,發(fā)送此消息以告訴窗口正在移動
5.OnSetFont()消息響應(yīng)函數(shù),響應(yīng)WM_SETFONT消息,發(fā)送此消息以允許改變對話框中控件的字體
以上這些的執(zhí)行都是按給定的順序執(zhí)行!
只有清楚的了解應(yīng)用程序的執(zhí)行順序,才能在編寫代碼的時候知道,在什么時候應(yīng)該執(zhí)行什么,以及在什么地方該處理什么!新濠天地娛樂城66bb.org
第四篇:基于Android平臺的紋理映射分析與實現(xiàn)論文
引言
紋理映射的本質(zhì)是對三維物體進(jìn)行二維參數(shù)化,即先求得三維物體表而上任一點的二維(u,v)參數(shù)值,進(jìn)而得到該點的紋理值,最終生成三維圖形表而上的紋理圖案。在光滑曲而上添加紋理圖案的核心問題是映射,因此紋理問題可以簡化為從一個坐標(biāo)系到另一個坐標(biāo)系的變換??偟膩碚f,紋理映射技術(shù)是一種使建立的3D模型更接近現(xiàn)實物體的技術(shù)。
1紋理映射基本原理
紋理生成過程實質(zhì)上是將所定義的紋理映射為反映某種三維景物表面的屬性(與光照明模型及表面幾何有關(guān)的各種參數(shù),如表面法向、漫/鏡面反射率等),并參與后續(xù)的光照明計算。
二維紋理映射就是從二維紋理平面到三維物體表面的映射。一般二維紋理平面是有范圍限制的,在這個平面區(qū)域內(nèi),每點都可用數(shù)學(xué)函數(shù)表達(dá),從而可以離散的分離出每點的灰度值和顏色值,這個平面區(qū)域稱為紋理空間,一般將紋理空間的平面區(qū)域定義在[0,1]*[0,1]。紋理映射是確定物體表面一點P在紋理空間中的對應(yīng)點(u,v),從而紋理空間中的點(u,v)處的紋理值就是物體表面點P的紋理屬性。建立紋理空間與景物空間及景物空間與屏幕空間之間的映射關(guān)系:
圖1紋理映射
景物表面的紋理屬性主要有以下幾種:
表面顏色,即表面的漫反射率;鏡面反射分量,即表面的鏡面反射率;透明度;表面法向,即撓動表面法向來產(chǎn)生表面的凹凸紋理;環(huán)境的漫反射和鏡面反射效果;光源強度和色彩分布。
根據(jù)紋理定義域的不同,可分為而為二維和三維紋理,由于本文是基于Android平臺的,考慮到效率和資源問題,主要給出了二維紋理的模型,對三維紋理映射技術(shù)就不再討論了。
2紋理映射的實現(xiàn)
本節(jié)將通過在一個立方體各個面貼上圖片來介紹Android平臺下基于OpenGLES的紋理映射有關(guān)的內(nèi)容:定義紋理、控制濾波、說明映射方式、繪制場景,給出頂點的紋理坐標(biāo)和幾何坐標(biāo)。
首先,我們通過Android平臺的OpenGLES庫來創(chuàng)建一個紋理,并使用圖片來生成一個紋理,過程如下:
IntBufferintBuffer=IntBuffer.allocate(1);//創(chuàng)建紋理
gl.glGenTextures(1,intBuffer);//設(shè)置要使用的紋理
gl.glBindTexture(GL10.GL_TEXTURE_2D,texture);
函數(shù)glGenTextures(intn,intBuffertextures)用于通知OpenGL我們想生成一個紋理的名字。函數(shù)glBindTexture(inttarget,inttexture)方法用于通知OpenGL將紋理名字texture綁定到紋理目標(biāo)上。
在Android中我們使用GLUtils中的一個靜態(tài)方法texImage2D(inttarget,intlevel,Bitmapbitmap,intborder)來生成一個紋理。過程如下:
//生成紋理
GLUtils.texImage2D(GL10.GL_TEXTURE_2D,0,GLImage.mBitmap,0)
通過以上過程,我們便成功地創(chuàng)建了一個紋理。
為了能有更好的效果,我們還需要設(shè)置在OpenGL現(xiàn)實圖像時,它放大得比原始紋理大(GL_TEXTURE_MAG_FILTER)或縮小得比原始紋理?。℅L_TEXTURE_MIN_FILTER)時OpenGL所采用的濾波方式。以下過程是我們設(shè)置的線性濾波://設(shè)置線性濾波
Gl.glTexParameterx(GL10.GL_TEXTURE_2D,GL10.GL_TEXTURE_MIN_FILTER,GL10.GL_LINEAR);
在android中可以使用glBindTexture(inttarget,inttexture)方法來綁定紋理。以下過程綁定了上面創(chuàng)建的紋理:Gl.glBindTexture(GL10.GL_TEXTURE_COORD_ARRAY);//綁定紋理
紋理需要使用glEnableClientState()方法來開啟紋理:Gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
與之對應(yīng)的,關(guān)閉紋理過程如下:
Gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
為了將紋理正確的映射到四邊形上,必須將紋理的右上角映射到四邊形的右上角,紋理的左上角映射到四邊形的左上角,紋理的右下角和左下角亦是如此。因為,如果映射錯誤的話,圖像顯示時可能上下顛倒,側(cè)向一邊或者什么都沒有。下面是我們對立方體的每一個面所設(shè)置的紋理映射數(shù)據(jù):
IntBuffertexCoords=IntBuffer.wrap(newint[]
{
One,0.,0,0,0,one,one,one,0,0,0,one,one,one,one,0,One,one,one,0,0,0,0,one
0,one,one,one,one,0,0,0,0,0,0,one,one,one,one,0,One,0,0,0,0,one,one,one
});
設(shè)置好這些映射數(shù)據(jù)之后,可以通過glTexCoordPointer將紋理綁定到要繪制的物體上。過程如下:
Gl.glTextCoordPointer(2,GL10.GL_FIXED,0,texCoords);
最后,將其繪制到屏幕上即可。效果圖2如圖所示:
圖2紋理映射效果
3結(jié)束語
本文通過對紋理映射的基本原理進(jìn)行了分析,并在Android平臺中利用OpenglES圖形庫對紋理映射技術(shù)進(jìn)行了實現(xiàn)。
由于本文利用的是Android應(yīng)用層封裝后的OpenglES圖形庫,在效率上欠佳,以后的主要工作是通過AndroidNDK對OpenglES進(jìn)行原生態(tài)開發(fā),進(jìn)而提高實現(xiàn)效率。
參考文獻(xiàn)
[1]李增忠.紋理映射技術(shù)的研究[D].中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫,2005.[2](美)ShaneCo.comnder.Android移動應(yīng)用開發(fā)從入門到精通[M].北京:人民郵電出版社,2010.[3]楊豐盛.Android應(yīng)用開發(fā)揭秘[M].北京:機械工業(yè)出版社,2010.
第五篇:高校教育管理創(chuàng)新機制分析論文
1高校教育管理中創(chuàng)新教育的內(nèi)涵
在高校中進(jìn)行創(chuàng)新教育的管理是一種新型的教育管理模式,從某種意義上說就是在繼承和發(fā)揚中國傳統(tǒng)教育管理的基礎(chǔ)上,能夠根據(jù)時代的發(fā)展需要為社會提供創(chuàng)新的人才,從而完善我國的教育機制,實現(xiàn)科教興國的目的。從定義上可以看出,對于高校的教育管理既要在理論上加強管理的內(nèi)容的創(chuàng)新,更要在實踐活動中加強教學(xué)模式,使學(xué)生結(jié)合理論知識和實踐知識提升自己的能力,從而更好地為高校的教育管理服務(wù)。高校要適應(yīng)社會發(fā)展的需要,不斷更新教育觀念,創(chuàng)新教育管理,培養(yǎng)創(chuàng)新型人才,建立健全高校教育管理體系,為培養(yǎng)高素質(zhì)人才提供保障。高校的創(chuàng)新教育內(nèi)容包含多種方面,從制度建設(shè)到學(xué)生的管理都要體現(xiàn)教育管理的創(chuàng)新理念,才能夠全面加強高校的教育管理。
2高校教育管理中實行創(chuàng)新機制的重要性
高校教育管理的目的是為了促進(jìn)教育更好的發(fā)展。但是,目前高校的教育管理處于不斷的更新過程,尤其是為了更好地為教育服務(wù),各大高校都加強了自己的教育管理水平。我國高校教育獲得了長足發(fā)展,培養(yǎng)了眾多國家棟梁和社會緊缺人才,這與科學(xué)的高校教育管理是分不開的,然而時代在不斷發(fā)展,新的社會現(xiàn)實對高校教育管理提出了新的要求。因此,時代的要求和發(fā)展對于高校的教育管理提出了更高的要求,這就需要高校的教育管理進(jìn)行必要的創(chuàng)新機制的研究,才能夠使得高校的教育管理工作適應(yīng)社會主義市場經(jīng)濟的發(fā)展。
2.1高校教育管理創(chuàng)新機制是為了適應(yīng)高校時代發(fā)展的需要
面對國內(nèi)外的教育管理變化,尤其是對于經(jīng)濟全球化的發(fā)展,高校教育的管理開放程度逐漸增大,國內(nèi)外需要更多的人才尤其是具有發(fā)展個性和全面發(fā)展的創(chuàng)新型的人才,要求高校的教育管理改變傳統(tǒng)的教育理念,實現(xiàn)各國之間人才的競爭。而為了適應(yīng)激烈的國際競爭的需要,要根據(jù)中國的時代特色建設(shè)具有自己特點的高校管理模式,才能夠為建設(shè)創(chuàng)新型的國家提供有效的保障。高校人才的培養(yǎng)離不開有效的教育管理,尤其是現(xiàn)行的創(chuàng)新形式的高校教育管理模式,這在很大程度上能夠促進(jìn)創(chuàng)新型人才的培養(yǎng)。因此,從這個意義上說,高校面臨的發(fā)展形勢要求進(jìn)行管理的創(chuàng)新機制。
2.2為了優(yōu)化高校的教師隊伍建設(shè)
教師在整個教學(xué)過程中發(fā)揮著重要的作用,尤其是面對越來越多的學(xué)生,高校的優(yōu)秀教師出現(xiàn)短缺的狀態(tài)。而為了保障高校教育管理工作中的教學(xué)質(zhì)量和管理能力,這需要對于高校的教師隊伍建設(shè)進(jìn)行有效的培養(yǎng)。這就需要運用創(chuàng)新機制建立一批高素質(zhì)的人才隊伍。尤其是在教育管理方面,要引進(jìn)具有高度的管理能力的人才,才能夠促進(jìn)高校的全面發(fā)展和進(jìn)步,這種對于師資力量進(jìn)行動態(tài)管理的教育,是為了創(chuàng)造屬于自己的品牌。
2.3高校教育管理創(chuàng)新機制是為了解決高校教學(xué)管理問題的需要
創(chuàng)新價值的實現(xiàn)表明,創(chuàng)新是一個系統(tǒng)而又復(fù)雜的過程,而不是一個階段性工作,創(chuàng)新不但具有動態(tài)性,而且這種動態(tài)性具有非線性的特點,也就是說,創(chuàng)新具有動態(tài)和開發(fā)的特征。高校教育管理工作中存在著多種的弊端,教育管理觀念的落后直接導(dǎo)致了高校教育管理工作的順利進(jìn)行和開展。傳統(tǒng)的經(jīng)驗和管理方式已經(jīng)不能夠處理時代出現(xiàn)的各種問題,只有更新教育理念和創(chuàng)新機制的管理,才能夠使一些保守的問題得到有效的解決。尤其是能夠從學(xué)生的角度出發(fā)解決學(xué)生的問題,從而能夠發(fā)揮教師的作用。這種民主化的新型管理方式才能夠促進(jìn)教師與學(xué)生之間的距離。特別是運用網(wǎng)絡(luò)技術(shù)的發(fā)展,能夠促進(jìn)高校教育管理工作的效率和工作質(zhì)量的提高。
3目前高校教育管理工作存在的問題
3.1高校的教育管理制度不夠完善
目前,我國的高校都具有自己的教育管理機構(gòu),同時也有相應(yīng)的教育管理制度,但是受到傳統(tǒng)教育理念的影響,高校的教育管理制度并沒有根據(jù)時代的發(fā)展更新自己的教育制度。這在一定程度上說明部分高校的教育管理制度并不夠完善,尤其是涉及到學(xué)生守則等管理方面的制度,行政化和體制化的管理制度嚴(yán)重影響了學(xué)生的自覺性和主動性,這對于高校的管理方面產(chǎn)生不利的影響。但是高校教育管理沒有形成一整套完整的管理標(biāo)準(zhǔn)和管理制度,即使已經(jīng)形成的一些制度也沒有及時根據(jù)形勢的發(fā)展變化進(jìn)行修訂完善,很多還停留在計劃經(jīng)濟的層次上,這就使得在高校教育管理過程中缺乏一定的現(xiàn)實管理依據(jù)和標(biāo)準(zhǔn),管理的計劃性和程序性不夠強,有的管理處于應(yīng)付和混亂狀態(tài)。
3.2高校教育管理手段簡單化
在高校的教育管理工作中,方式和手段的實施對于高校的管理產(chǎn)生一定的影響,尤其是在高校教學(xué)的過程中,管理手段和方式的簡單化對于學(xué)生的發(fā)展產(chǎn)生不利的影響。而面對新技術(shù)和新信息的更新,如果采取傳統(tǒng)的教學(xué)管理手段,這不利于學(xué)生的個性發(fā)展和全面發(fā)展。高校的教育管理方式應(yīng)該以新的教育理念,從人本化的角度出發(fā),從學(xué)生的角度思路問題。才能夠不斷豐富教育管理的經(jīng)驗,為學(xué)生的管理工作服務(wù),從而在教育管理的基礎(chǔ)上提高高校教育管理的效果。高校教育管理工作的管理手段如果過于單一和簡單化,這就無法滿足教育教學(xué)改革過程中人才的培養(yǎng),這種缺乏民主化的管理理念不利于學(xué)生的健康成長。
3.3高校教育管理內(nèi)容更新不及時
受到傳統(tǒng)的計劃經(jīng)濟體制的影響,高校的教育管理內(nèi)容大多數(shù)采用的是行政命令式的教學(xué)模式,因此造成了高校教育教學(xué)過程中的內(nèi)容過于陳舊,并沒有根據(jù)時代的特征及時更新教育的內(nèi)容,這對于學(xué)生知識的學(xué)習(xí)和教育都產(chǎn)生不利的影響,從而影響了教育管理的發(fā)揮。
4加強高校教育管理創(chuàng)新機制的重要措施
4.1加強高校教育管理平臺建設(shè)
把網(wǎng)絡(luò)技術(shù)應(yīng)用到高校的教育管理工作中,建立起高校的教育管理平臺,能夠使得高校管理的信息及時更新和傳達(dá)。尤其是針對國家的教育方針及時進(jìn)行網(wǎng)絡(luò)的更新,這在一定程度上促進(jìn)了學(xué)校管理與學(xué)生之間的溝通,從而為學(xué)生的知識的增長提供了有效的指導(dǎo)意義。另外,建設(shè)高校教育管理網(wǎng)絡(luò)平臺,間接加強了教育管理雙方的交流和溝通,能夠使得學(xué)生針對學(xué)校的教育管理提供建議和意見,更好地促進(jìn)教育的管理水平。
4.2舉辦多種創(chuàng)新活動,實現(xiàn)高校教育管理的民主化
充分發(fā)揮學(xué)生的積極性和主動性,通過多種途徑舉辦具有特色和創(chuàng)新能力的活動,使學(xué)生在整個活動中發(fā)揮管理的作用,這一方面提升了學(xué)生自己管理自己的作用,另一方面也提高了學(xué)生的創(chuàng)新意識。在一定程度上對于高校實現(xiàn)教育管理的民主化得到了有效的支持。保持傳統(tǒng)教育理念中較為精華的部分,充分尊重學(xué)生的主體性地位,承認(rèn)學(xué)生之間的差異性,給予學(xué)生更多的人文關(guān)懷,注重創(chuàng)新精神、創(chuàng)業(yè)意識和創(chuàng)造能力的培養(yǎng)。
4.3實現(xiàn)教育評價體系的創(chuàng)新
評價標(biāo)準(zhǔn)也是高校教育管理工作中的重要內(nèi)容之一,尤其是在進(jìn)行高校制度創(chuàng)新的過程中,要實行開放的和多元化的教育管理體制,才能夠在一定程度上得到教師和學(xué)生的認(rèn)可,這需要充分利用高校教育過程中的各種資源,根據(jù)學(xué)生的自主評價方式,結(jié)合教師的評價方式共同進(jìn)行評價標(biāo)準(zhǔn)的考核,才能夠在教學(xué)手段上進(jìn)行管理。在面對信息化時代的發(fā)展趨勢,能夠?qū)⒕W(wǎng)絡(luò)技術(shù)的應(yīng)用和高校的教育管理手段相結(jié)合,是高校教育管理的進(jìn)步。高校教育管理應(yīng)該建立全方位的目標(biāo)評價體系,尤其是涵蓋學(xué)生的思想品德方面的考核,才能夠全面建立師生平衡的評價體系,為激發(fā)教師和學(xué)生的創(chuàng)新能力提供良好的基礎(chǔ)。
5結(jié)語
新形勢下,針對高校教育管理工作存在的問題,要對于高校的教育管理實行創(chuàng)新的機制,才能夠在一定程度上運用現(xiàn)代化的教學(xué)手段推進(jìn)教學(xué)管理制度的改革,從而能夠保障高校教育管理動作的順利開展。為了實現(xiàn)高校的教育管理工作的目標(biāo),從而推進(jìn)教學(xué)管理的創(chuàng)新,這就需要在一定程度上實現(xiàn)教育理念的更新,培養(yǎng)具有創(chuàng)新精神和創(chuàng)新能力的高素質(zhì)人才。