第一篇: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)一個窗口即將失去鍵盤輸入焦點(diǎn)以前被發(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
第二篇: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)一個窗口即將失去鍵盤輸
入焦點(diǎn)以前被發(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é)的一點(diǎn)小小的經(jīng)驗(yàn),希望能對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)一個窗口即將失去鍵盤輸
入焦點(diǎn)以前被發(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消息映射機(jī)制分析論文
摘 要:MFC以層次結(jié)構(gòu)組織起來,比較龐雜,尤其是它的消息映射機(jī)制,更是涉及到很多底層的東西。本文通過對整個消息映射機(jī)制進(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獨(dú)創(chuàng)的Document/View框架結(jié)構(gòu),能夠?qū)⒐芾頂?shù)據(jù)的代碼和顯示數(shù)據(jù)的程序代碼分開,并且設(shè)計了一套方便的消息映射和命令傳遞機(jī)制,方便程序員的開發(fā)使用。其中消息映射機(jī)制本身比較龐大和復(fù)雜,對它的分析和了解無疑有助于我們寫出更為合理的高效的程序。這里我們分析一下MFC的消息映射機(jī)制,以了解MFC是如何對Windows的消息加以封裝,方便用戶的開發(fā)。SDK下的消息機(jī)制實(shí)現(xiàn)
首先,簡單回顧一下SDK下我們是如何進(jìn)行Windows的程序開發(fā)的。Windows程序的運(yùn)行是依靠外部發(fā)生的事件來驅(qū)動的,事件由操作系統(tǒng)捕捉,以消息的形式進(jìn)入消息隊(duì)列,然后通過消息循環(huán)從隊(duì)列中不斷取出消息,送到對應(yīng)的窗口過程里處理。相對于DOS程序,Windows是以WinMain作為程序的入口點(diǎn),以下就是一個簡化的Win32程序的主體,通過while語句實(shí)現(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)的消息隊(duì)列里面把消息取出來并放到消息變量msg里面。然后TranslateMessage函數(shù)用來把鍵盤消息轉(zhuǎn)化并放到響應(yīng)的消息隊(duì)列里面,最后DispatchMessage函數(shù)把消息分發(fā)到相關(guān)的窗口過程去處理。窗口過程根據(jù)消息的類型對不同的消息進(jìn)行相關(guān)的處理。在SDK編程過程中,用戶需要在窗口過程中分析消息的類型及其參數(shù)的含義,然后做不同的處理,相對比較麻煩;而MFC把消息調(diào)用的過程給封裝起來,使用戶能夠通過ClassWizard方便的使用和處理Windows的各種消息。MFC中的消息映射機(jī)制
在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)實(shí)現(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)行消息映射的實(shí)現(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主要作用有兩個,一是用來得到基類的消息映射入口地址。二是得到本身的消息映射入口地址。
實(shí)際上,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是如何讓窗口過程來處理消息的,實(shí)際上所有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)行比較,找到匹配的那一個消息。實(shí)際上系統(tǒng)是通過函數(shù)AfxFindMessageEntry來實(shí)現(xiàn)的。找到了那個message,實(shí)際上我們就得到一個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ù)實(shí)際上就是通過ClassWizard在類實(shí)現(xiàn)中定義的一個方法。這樣就把消息的處理轉(zhuǎn)化到類中的一個方法的實(shí)現(xiàn)上。
(5)如果OnWndMsg方法沒有對消息進(jìn)行處理的話,就調(diào)用DefWindowproc對消息進(jìn)行處理。這是實(shí)際上是調(diào)用原來的窗口過程進(jìn)行缺省的消息處理。所以如果正常的消息處理的話,MFC窗口類是完全脫離了原來的窗口過程,用自己的一套體系結(jié)構(gòu)實(shí)現(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實(shí)際繼承了CWinThread類。在CWinThread的運(yùn)行過程中會調(diào)用窗口類中的WalkpreTranslateTree方法。而WalkpreTranslateTree方法實(shí)際上就是從當(dāng)前窗口開始查找愿意進(jìn)行消息翻譯的類,直到找到窗口沒有父類為止。在WalkpreTranslateTree方法中調(diào)用了preTranslateMessage方法。實(shí)際上preTranslateMessage最大的好處是我們在消息處理前可以在這個方法里面先做一些事情。舉一個簡單的例子,比如我們希望在一個CEdit對象里,把所有的輸入的字母都以大寫的形式出現(xiàn)。我們只需要在preTranslateMessage方法中判斷message是否為WM_CHAR,如果是的話,把wparam(表示鍵值)由小寫字母的值該為大寫字母的值就實(shí)現(xiàn)了這個功能。小結(jié)
MFC通過巧妙的宏定義把消息調(diào)用的過程給封裝起來,使用戶能夠通過ClassWizard方便的使用和處理Windows的各種消息。通過對MFC消息映射機(jī)制的分析,不僅能夠使我們更好的使用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處理繪圖
(一)簡單的圖形輸出、點(diǎn): pDC->SetPixel(Cpoint(200,200),RGB(255,0,0,));// 在 [200,200] 的位置畫一個紅點(diǎn)2、線: pDC->MoveTo(0,0);// 直線起點(diǎn)的坐標(biāo)為(0,0)
pDC->LineTo(100,100)// 從起點(diǎn)(0,0)到終點(diǎn)(100,100)畫一條直線、矩形: Crect rect(0,0,100,100);
pDC->Rectangle(&rect);// 畫一個長 100,寬 100 的矩形、圓和橢圓:
Crect rect(0,0,100,100);
pDC->Ellipse(&rect);
Crect rect(0,0,50,100);
pDC->Ellipse(&rect);、多邊形:
CPoint poly[4];
poly[0]=CPoint(0,0);
poly[1]=CPoint(50,50);
poly[2]=Cpoint(50,100);
poly[3]=Cpoint(0,50);
pDC->Polygon(poly,4);
(二)庫存對象
庫存對象是由操作系統(tǒng)維護(hù)的用于繪制屏幕的常用對象,包括庫存畫筆、畫刷、字體等。使用 SelectStockObject()函數(shù)可以直接選擇庫存對象,修改系統(tǒng)默認(rèn)值。
例如,在視圖中選用畫筆和畫刷庫存對象來畫圖。
Void Cexam3_3View::OnDraw(CDC*pDC)
{
Cexam3_2Doc*pDoc=GetDocument();
CRect rect;
Rect.SetRect(Cpoint(0,0),Cpoint(200,200));
pDC->SelectStockObject(WHITE_PEN);// 選用白色畫筆
pDC->SelectStockObject(GRAY_BRUSH);// 選用灰色畫刷
pDC->Rectangle(rect);
pDC->MoveTo(0,0);
pDC->LineTo(200,200);
pDC->MoveTo(0,200);
pDC->LineTo(200,0);
}
(三)創(chuàng)建和使用自定義畫刷和畫筆、創(chuàng)建 CPen 的的方法:
?定義時直接創(chuàng)建
Cpen MyPen(PS_SOLID,2,RGB(255,0,0));
(2)定義 Cpen 對象,再調(diào)用 CreatePen()函數(shù)
Cpen pen;
Pen.CreatePen(PS_SOLID,2,RGB(255,0,0));、創(chuàng)建畫刷的方法:
(1)創(chuàng)建實(shí)心畫刷的 CreateSolidBrush()函數(shù)
Cbrush bs;
Bs.CreateSolidBrush(RGB(255,0,0));
(2)創(chuàng)建帶陰影的畫刷的 CreateHatchBrush()函數(shù)
Bs.CreateHatchBrush(HS_CROSS,RGB(255,0,0));// 創(chuàng)建一個帶十字陰影的紅色畫刷
(3)創(chuàng)建位圖畫刷的 CreatePatternBrush()函數(shù)
本函數(shù)的應(yīng)用如下:
CbitMap bmp;
Bmp.LoadBitMap(IDB_MYBITMAP);
Cbrush bs;
Bs.CreatePatternBrush(&bmp);
例4_
3、在視圖中繪制三個圖形,一個用陰影風(fēng)格的畫刷畫的橢圓形,一個用深蘭色實(shí)心畫刷畫的圓角矩形,一個用淺灰色畫刷畫的餅形。
void CExam4_3View::OnDraw(CDC* pDC)
{
CExam4_3Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
//設(shè)置影象模式
pDC->SetMapMode(MM_ANISOTROPIC);
CPen NewPen,OldPen;
//將畫筆選入設(shè)備上下文
NewPen.CreatePen(PS_SOLID,5,RGB(0,0,255));
//創(chuàng)建深藍(lán)色實(shí)心畫刷
pDC->SelectObject(&NewPen);
CBrush NewBrush1,NewBrush2;
//將畫刷選入設(shè)備上下文
NewBrush1.CreateSolidBrush(RGB(0,0,128));
//繪制圓角矩形
pDC->RoundRect(200,100,330,200,15,15);
//將庫存對象淺灰畫刷選入設(shè)備上下文
pDC->SelectStockObject(LTGRAY_BRUSH);
//繪制餅圖
pDC->Pie(350,50,420,150,360,50,400,50);
//創(chuàng)建陰影畫刷
NewBrush2.CreateHatchBrush(HS_DIAGCROSS,RGB(125,125,125));
pDC->SelectObject(NewBrush2);
//繪制橢圓
pDC->Ellipse(50,50,150,150);
}
第五篇:交通事故處理順序
贏了網(wǎng)s.yingle.com
遇到交通法問題?贏了網(wǎng)律師為你免費(fèi)解惑!訪問>>
http://s.yingle.com
交通事故處理順序
一、交通事故簡易處理程序
1、固定現(xiàn)場證據(jù):固定現(xiàn)場證據(jù)的方式可以通過畫現(xiàn)場草圖、拍攝現(xiàn)場照片、錄像,也可以通過現(xiàn)場口頭詢問方式固定證據(jù)。
2、責(zé)令當(dāng)事人撤離現(xiàn)場,恢復(fù)交通;拒不撤離現(xiàn)場的,予以強(qiáng)制撤離。對當(dāng)事人不能自行移動車輛的,交通警察應(yīng)當(dāng)將車輛移至不妨礙交通的地點(diǎn)。
3、將具有下列情形之一的,公安交通管理部門將其駕駛的機(jī)動車移至不妨礙交通的地點(diǎn)或者有關(guān)部門指定的地點(diǎn)停放,依法給予處罰:
(1)駕駛?cè)藷o有效機(jī)動車駕駛證的;
(2)駕駛?cè)擞酗嬀?、服用國家管制的精神藥品或者麻醉藥品嫌疑的?/p>
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
4、制作道路交通事故認(rèn)定書:
(1)撤離現(xiàn)場后,交通警察應(yīng)當(dāng)根據(jù)現(xiàn)場固定的證據(jù)和當(dāng)事人、證人敘述等,認(rèn)定并記錄道路交通事故發(fā)生的時間、地點(diǎn)、天氣、當(dāng)事人姓名、機(jī)動車駕駛證號、聯(lián)系方式、機(jī)動車種類和號牌、保險憑證號、交通事故形態(tài)、碰撞部位等,并根據(jù)當(dāng)事人的行為對發(fā)生道路交通事故所起的作用以及過錯的嚴(yán)重程度,確定當(dāng)事人的責(zé)任,制作道路交通事故認(rèn)定書,由當(dāng)事人簽名。
(2)簡易程序處理的道路交通事故認(rèn)定書可以當(dāng)場出具,也可以事后出具;但是最遲應(yīng)當(dāng)自現(xiàn)場調(diào)查之日起10日內(nèi)制作道路交通事故認(rèn)定書。
5、當(dāng)場調(diào)解:當(dāng)事人共同請求調(diào)解的(可以口頭申請),交通警察應(yīng)當(dāng)當(dāng)場進(jìn)行調(diào)解,并在道路交通事故認(rèn)定書上記錄調(diào)解結(jié)果,由當(dāng)事人簽名,交付當(dāng)事人。
但是,具有下列情形之一的,不適用調(diào)解;交通警察可以在道路交通事故認(rèn)定書上載明有關(guān)情況后,將道路交通事故認(rèn)定書交付當(dāng)事人:
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
(1)當(dāng)事人對道路交通事故認(rèn)定有異議的;
(2)當(dāng)事人拒絕在道路交通事故認(rèn)定書上簽名的;
(3)當(dāng)事人不同意調(diào)解的。
二、交通小事故的快速處理流程
首先,我們在此推薦各位車主在當(dāng)?shù)氐慕还芫志W(wǎng)站下載機(jī)動車交通事故快速處理協(xié)議書,并打印幾份放在車上,以備快速處理事故之需。
這是北京地區(qū)的《機(jī)動車交通事故快速處理協(xié)議書》,大家可參閱。
快速處理小事故的具體流程。
1.發(fā)生小事故后,我們應(yīng)該第一時間打開車輛的危險警告燈并在車后設(shè)置危險警告標(biāo)識,防止后車追撞,保障車內(nèi)乘客以及車輛的安全。
2.設(shè)立好警示標(biāo)識之后就要初步確定事故雙方的責(zé)任?!咀ⅲ喝?/p>
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
果不能協(xié)商一致,那就需要報警等待交警來定責(zé)了?!咳绻p方能夠協(xié)商一致,確定各自的責(zé)任,那么就可以進(jìn)行下一步的快速處理流程了。
3.接下來就是拍照取證了。照片要求一張可以說明事故發(fā)生地點(diǎn)的全景照片以及若干張車輛發(fā)生接觸部分的特寫照片,有一張能說明事故現(xiàn)場情況的照片(包括馬路上的剎車印、道路標(biāo)識等),最好把當(dāng)事司機(jī)與車輛的合影也拍攝下來。這不僅是為了向保險公司提供事故證據(jù),也可以避免對方車主在挪車之后“耍賴”?!咀ⅲ捍藭r也可以打電話給保險公司,等待保險人員到現(xiàn)場拍照取證,通常需要一定時間。而對于一些小事故,保險公司有時也不到場,只到事故處理中心?!?/p>
4.拍完照后,我們就要檢查對方駕照及車輛手續(xù),車輛手續(xù)包括:車牌、年檢、行駛本及交強(qiáng)險等。在核對完上述信息后才可以移動車輛,把車挪到不阻礙交通的地方,并繼續(xù)打開雙閃、設(shè)置安全警告標(biāo)識。
5.在完成以上的步驟之后,雙方就可以各自給投保的保險公司打電話,告知事故發(fā)生的時間、地點(diǎn)以及損失情況。而保險公司在受理之后,會回復(fù)車主一個報案號,之后就可以填寫《交通事故快速處理協(xié)議書》了。
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
6.最后,事故雙方就可以到指定的交通事故快速處理中心定損,在那里會有交警來確定事故責(zé)任歸屬。定損之后,按雙方各自應(yīng)承擔(dān)的責(zé)任,預(yù)交維修費(fèi)用。
現(xiàn)在很多城市都設(shè)定了交通事故快速處理中心,大家可以到中心去協(xié)商具體的理賠事宜。
7.車輛送去維修,等維修好后,車主持相關(guān)的單據(jù)到保險公司理賠即可。這里要注意的是,單方責(zé)任事故需到全責(zé)方保險公司定損及索賠;雙方同等責(zé)任事故則可到任意方保險公司定損及索賠。
三、重大交通事故的處理流程
第一步,查看車輛受損情況,初步判定事故責(zé)任,并相互記下車牌號、相互查驗(yàn)證件、記下聯(lián)系方式,確定及協(xié)商是否需要交警現(xiàn)場處理。需要交警處理的應(yīng)盡快撥打122交通報警電話。同時責(zé)任方向保險公司電話報案。
第二步,如權(quán)責(zé)清晰、雙方對事故認(rèn)定一致,符合并認(rèn)同快速處理,雙方對事故現(xiàn)場進(jìn)行拍照,如有需要,也可以攝像。拍照的要訣是:站得正、拍得全。站得正,就是要站在車輛前后方的正中間,不要斜著拍,角度偏離可能影響交警判斷。拍得全,就是要把事故車輛
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com 的全景拍攝進(jìn)去,尤其要把車道、標(biāo)線等拍進(jìn)照片。如果沒有事故現(xiàn)場的照片,或者照片拍得不好,有可能導(dǎo)致事故無法認(rèn)定。
第三步,如對責(zé)任認(rèn)定有分歧,可先對事故現(xiàn)場進(jìn)行拍照,并對現(xiàn)場進(jìn)行標(biāo)記,等待交警前來處理。
第四步,填寫快速處理協(xié)議書,需完整填寫事故時間、地點(diǎn)、雙方車輛車牌號、駕駛者姓名、駕駛證號、保險公司、電話、保險公司報案號、事故情形、車輛損失情況、責(zé)任認(rèn)定、雙方簽字。
第五步,車險理賠憑借快速處理協(xié)議書。按規(guī)定,一方當(dāng)事人負(fù)全部責(zé)任的,雙方當(dāng)事人到全責(zé)方保險公司辦理理賠。全責(zé)方保險公司負(fù)責(zé)雙方車輛的查勘定損,并按有關(guān)規(guī)定進(jìn)行賠付。無責(zé)方損失在2000元以下部分由全責(zé)方交強(qiáng)險進(jìn)行賠付;超過2000元的部分,通過全責(zé)方的商業(yè)三者險進(jìn)行賠付。全責(zé)方未投保商業(yè)三者險的,由全責(zé)方當(dāng)事人自行承擔(dān)。雙方當(dāng)事人負(fù)同等責(zé)任的,可就近到任何一方保險公司辦理定損。受理方保險公司必須無條件為雙方車輛查勘定損,并向當(dāng)事人出具雙方車輛查勘報告、估損單以及保險公司所需的理賠資料。
? 調(diào)解處理交通事故損害賠償糾紛具有哪些優(yōu)點(diǎn) http://s.yingle.com/y/jt/1071228.html
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
? 上海市查處車輛非法客運(yùn)規(guī)定
http://s.yingle.com/y/jt/1071227.html
? 關(guān)于修改《中華人民共和國外國籍船舶航行長江 http://s.yingle.com/y/jt/1071226.html
? 廈門市水路運(yùn)輸管理規(guī)定
http://s.yingle.com/y/jt/1071225.html
? 交通部海事局關(guān)于第二批國際航行船舶及其公司 http://s.yingle.com/y/jt/1071224.html
? 交通部關(guān)于委托交通部長江航務(wù)管理局實(shí)施相關(guān) http://s.yingle.com/y/jt/1071223.html
? 甘肅省人民政府辦公廳關(guān)于認(rèn)真做好2018年春運(yùn)工 http://s.yingle.com/y/jt/1071222.html
? 鄭州市人民政府關(guān)于2002鄭州市出租汽車更新 http://s.yingle.com/y/jt/1071221.html
? 葉X等與趙X等機(jī)動車交通事故責(zé)任糾紛案 http://s.yingle.com/y/jt/1071220.html
? 交通部關(guān)于國際海事組織《1974年國際海上人命安 http://s.yingle.com/y/jt/1071219.html
? ? 曾X與王X http://s.yingle.com/y/jt/1071218.html 關(guān)于修改《水路運(yùn)輸違章處罰規(guī)定》第 http://s.yingle.com/y/jt/1071217.html
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
? 關(guān)于換發(fā)水路運(yùn)輸許可證等四證的通知 http://s.yingle.com/y/jt/1071216.html
? 關(guān)于發(fā)布魚粉船舶運(yùn)輸安全技術(shù)要求等六項(xiàng)交通 http://s.yingle.com/y/jt/1071215.html
? 交通部關(guān)于《1965年便利國際海上運(yùn)輸公約》的三 http://s.yingle.com/y/jt/1071214.html
? 鶴壁市人民政府關(guān)于進(jìn)一步加強(qiáng)農(nóng)村公路建設(shè)的 http://s.yingle.com/y/jt/1071213.html
? 關(guān)于印發(fā)《江蘇省交通建設(shè)工程安全責(zé)任制度》 http://s.yingle.com/y/jt/1071212.html
? 李X與中國平安財產(chǎn)保險股份有限公司XX分公司 http://s.yingle.com/y/jt/1071211.html
? 陜西省人民政府辦公廳關(guān)于進(jìn)一步培育拓展省內(nèi) http://s.yingle.com/y/jt/1071210.html
? 2018年最新“交強(qiáng)險”條例全文
http://s.yingle.com/y/jt/1071209.html
? 關(guān)于市區(qū)珠江沿岸交通秩序規(guī)定的通告 http://s.yingle.com/y/jt/1071208.html
? 交通事故造成十級傷殘的,交強(qiáng)險公司應(yīng)當(dāng)如何承擔(dān)賠償責(zé)任 http://s.yingle.com/y/jt/1071207.html
? 交通部關(guān)于《中華人民共和國海上交通監(jiān)督管理 http://s.yingle.com/y/jt/1071206.html
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
? ? 楊X http://s.yingle.com/y/jt/1071205.html
南昌市人民政府辦公廳批轉(zhuǎn)市交通局等12委辦局關(guān) http://s.yingle.com/y/jt/1071204.html
? 關(guān)于發(fā)布《船舶無法交付貨物處理試行辦法》的 http://s.yingle.com/y/jt/1071203.html
? 最新交通肇事罪處罰規(guī)定
http://s.yingle.com/y/jt/1071202.html
? 福建省建設(shè)廳關(guān)于做好2018年城市公交春運(yùn)工作的 http://s.yingle.com/y/jt/1071201.html
? 交通部關(guān)于執(zhí)行2000年新版《國際海運(yùn)危險貨物規(guī) http://s.yingle.com/y/jt/1071200.html
? 交通事故賠償訴訟中,交通事故受害人應(yīng)當(dāng)如何舉證 http://s.yingle.com/y/jt/1071199.html
? 西安市人民政府關(guān)于修改《西安市搬運(yùn)裝卸管理 http://s.yingle.com/y/jt/1071198.html
? 道路交通事故認(rèn)定書應(yīng)當(dāng)包括哪些內(nèi)容 http://s.yingle.com/y/jt/1071197.html
? 批發(fā)市場無證駕車致人死亡應(yīng)定何罪 http://s.yingle.com/y/jt/1071196.html
? 轉(zhuǎn)發(fā)市公安局《關(guān)于限制外地摩托車進(jìn)入中山轄 http://s.yingle.com/y/jt/1071195.html
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
? 四川省違反水上交通安全法規(guī)處理辦法 http://s.yingle.com/y/jt/1071194.html
? 保險公司承擔(dān)無責(zé)損害賠償責(zé)任的案例解讀 http://s.yingle.com/y/jt/1071193.html
? 濟(jì)南輕微交通事故"速決",2000以下可私了 http://s.yingle.com/y/jt/1071192.html
? 道路旅客運(yùn)輸及客運(yùn)站管理規(guī)定
http://s.yingle.com/y/jt/1071191.html
? 俞X與被告劉X機(jī)動車交通事故責(zé)任糾紛案 http://s.yingle.com/y/jt/1071190.html
? 廣東省實(shí)施《國防交通條例》辦法 http://s.yingle.com/y/jt/1071189.html
? 什么情況下交警應(yīng)該回避
http://s.yingle.com/y/jt/1071188.html
? 杭州市營業(yè)性人力三輪車運(yùn)輸管理辦法 http://s.yingle.com/y/jt/1071187.html
? 原告王XX訴被告王X http://s.yingle.com/y/jt/1071186.html
? 常州市人民政府關(guān)于頒發(fā)《常州市主要公路兩側(cè) http://s.yingle.com/y/jt/1071185.html
? 如何查看交通事故現(xiàn)場圖
http://s.yingle.com/y/jt/1071184.html
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
? 鄭X與天安財產(chǎn)保險股份有限公司北京中心支公司機(jī)動車交通事故責(zé)任糾紛案件 http://s.yingle.com/y/jt/1071183.html
? 太原市發(fā)展和改革委員會關(guān)于對機(jī)場大道工程可 http://s.yingle.com/y/jt/1071182.html
? 關(guān)于我商船航行臺灣海峽問題的批復(fù) http://s.yingle.com/y/jt/1071181.html
? 交通事故處理所涉及的訴訟時效
http://s.yingle.com/y/jt/1071180.html
? 國營工交企業(yè)經(jīng)濟(jì)核算工作試行辦法 http://s.yingle.com/y/jt/1071179.html
? 襄樊市人民政府印發(fā)《襄樊市貨運(yùn)出租汽車管理 http://s.yingle.com/y/jt/1071178.html
? 原告李X與被告張X非機(jī)動車交通事故責(zé)任糾紛案 http://s.yingle.com/y/jt/1071177.html
? 吉林省道路交通事故處理暫行規(guī)定 http://s.yingle.com/y/jt/1071176.html
? 交通部關(guān)于發(fā)布《液化天然氣碼頭設(shè)計規(guī)程》(http://s.yingle.com/y/jt/1071175.html
? 同時投?!败嚿县?zé)任險”與“雇主責(zé)任險”的,構(gòu)成“重復(fù)保險”嗎 http://s.yingle.com/y/jt/1071174.html
? 交安法常識解讀:交通事故暫扣車輛最長40天 http://s.yingle.com/y/jt/1071173.html
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
? 成都市人民政府關(guān)于全面開展車輛超限超載治理 http://s.yingle.com/y/jt/1071172.html
? 已到報廢期限的單位牌照的三輪摩托車如何處理 http://s.yingle.com/y/jt/1071171.html
? 交通事故什么情況下可以認(rèn)定為犯罪 http://s.yingle.com/y/jt/1071170.html
? ? 交通行政復(fù)議規(guī)定 http://s.yingle.com/y/jt/1071169.html 海南省人民政府關(guān)于確保鐵路運(yùn)輸安全暢通的通 http://s.yingle.com/y/jt/1071168.html
? 北京市人民政府辦公廳關(guān)于認(rèn)真做好2018年春運(yùn)工 http://s.yingle.com/y/jt/1071167.html
? 關(guān)于國際海事組織經(jīng)修正的《經(jīng)1978年議定書修訂 http://s.yingle.com/y/jt/1071166.html
? 特別重大交通事故調(diào)查程序
http://s.yingle.com/y/jt/1071165.html
? ? 車X義與王X浩 http://s.yingle.com/y/jt/1071164.html 交通部關(guān)于加強(qiáng)海上客滾船檢驗(yàn)工作的通知 http://s.yingle.com/y/jt/1071163.html
? 交通部關(guān)于國際海事組織《1965年國際海上運(yùn)輸便 http://s.yingle.com/y/jt/1071162.html
? 預(yù)防特大道路交通事故百日行動工作方案 http://s.yingle.com/y/jt/1071161.html
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
? 關(guān)于堅(jiān)決制止海上非客船載客的通知 http://s.yingle.com/y/jt/1071160.html
? 發(fā)生交通事故后如何進(jìn)行自行協(xié)商 http://s.yingle.com/y/jt/1071159.html
? 交通部關(guān)于取消安徽海運(yùn)有限責(zé)任公司等9家公司 http://s.yingle.com/y/jt/1071158.html
? 關(guān)于交納國家能源交通重點(diǎn)建設(shè)基金的通知[失 http://s.yingle.com/y/jt/1071157.html
? 特大事故發(fā)生后,應(yīng)向哪些單位報告 http://s.yingle.com/y/jt/1071156.html
? 海區(qū)航標(biāo)動態(tài)通報管理辦法
http://s.yingle.com/y/jt/1071155.html
? 市人民政府批轉(zhuǎn)市交通局關(guān)于全市“十五”時期 http://s.yingle.com/y/jt/1071154.html
? 造成人身傷亡的交通肇事如何處理 http://s.yingle.com/y/jt/1071153.html
? 民用航空企業(yè)機(jī)場聯(lián)合重組改制管理規(guī)定 http://s.yingle.com/y/jt/1071152.html
? 遼寧省工商行政管理局關(guān)于加強(qiáng)全省運(yùn)輸市場管 http://s.yingle.com/y/jt/1071151.html
? 交通事故賠償舉證指引
http://s.yingle.com/y/jt/1071150.html
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
? 交通部關(guān)于慶?!昂胶H铡贝皰炱觳⒔y(tǒng)一鳴笛 http://s.yingle.com/y/jt/1071149.html
? ? 四原告與被告宮X http://s.yingle.com/y/jt/1071148.html 上下班途中發(fā)生交通事故,可以將誰列為被告 http://s.yingle.com/y/jt/1071147.html
? 青海省人民政府辦公廳轉(zhuǎn)發(fā)省交通廳等部門關(guān)于 http://s.yingle.com/y/jt/1071146.html
? 交通事故賠償標(biāo)準(zhǔn)以及如何計算交通事故賠償 http://s.yingle.com/y/jt/1071145.html
? 法院終審滿分司機(jī)駕車出險該賠
http://s.yingle.com/y/jt/1071144.html
? 國家經(jīng)委 對外經(jīng)濟(jì)貿(mào)易部 交通部 國家商檢 http://s.yingle.com/y/jt/1071143.html
? 原告羅X與被告王X強(qiáng)
http://s.yingle.com/y/jt/1071142.html
? 公交車未停穩(wěn)下客大嫂摔傷奉賢客運(yùn)賠80%計11.7萬余元 http://s.yingle.com/y/jt/1071141.html
? ? 蘭州市禁止客 http://s.yingle.com/y/jt/1071140.html 十堰市人民政府關(guān)于進(jìn)一步加快交通發(fā)展的通知 http://s.yingle.com/y/jt/1071139.html
? 處理交通事故步驟是什么
http://s.yingle.com/y/jt/1071138.html
法律咨詢s.yingle.com
贏了網(wǎng)s.yingle.com
? 個案具解“交通肇事罪(逃逸)”應(yīng)當(dāng)如何定罪量刑 http://s.yingle.com/y/jt/1071137.html
? 中華人民共和國船舶和海上設(shè)施檢驗(yàn)條例 http://s.yingle.com/y/jt/1071136.html
? 中華人民共和國水路運(yùn)輸管理?xiàng)l例 http://s.yingle.com/y/jt/1071135.html
? 最佳的交通事故處理方法是什么
http://s.yingle.com/y/jt/1071134.html
? 機(jī)動車交通事故保險公司與侵權(quán)人的賠償順序和份額認(rèn)定
(一)律師意見 http://s.yingle.com/y/jt/1071133.html
? 關(guān)于頒發(fā)《水路貨物運(yùn)輸實(shí)行保險與負(fù)責(zé)運(yùn)輸相 http://s.yingle.com/y/jt/1071132.html
? 交通部公安部印發(fā)關(guān)于維護(hù)水上客運(yùn)治安秩序,http://s.yingle.com/y/jt/1071131.html
? 交通事故救助基金或年內(nèi)出臺
http://s.yingle.com/y/jt/1071130.html
? 內(nèi)蒙古自治區(qū)人民政府關(guān)于加快新農(nóng)村新牧區(qū)公 http://s.yingle.com/y/jt/1071129.html
法律咨詢s.yingle.com