WEB开发网
开发学院软件开发VC MFC教程(5)-- MFC对象的创建(1) 阅读

MFC教程(5)-- MFC对象的创建(1)

 2010-03-25 20:33:46 来源:WEB开发网   
核心提示:消息映射方法和标准命令消息窗口对象可以响应以“WM_”为前缀的标准Windows消息,消息处理函数名称以“ON”为前缀,MFC教程(5)-- MFC对象的创建(1)(4),不同类型的Windows窗口处理的Windows消息是有所不同的,因此,表5-5 标准命令消息处理函

消息映射方法和标准命令消息

窗口对象可以响应以“WM_”为前缀的标准Windows消息,消息处理函数名称以“ON”为前缀。不同类型的Windows窗口处理的Windows消息是有所不同的,因此,不同类型的MFC窗口实现的消息处理函数也有所不同。例如,多文档边框窗口能处理WM_MDIACTIVATE消息,其他类型窗口就不能。程序员从一定的MFC窗口派生自己的窗口类,对感兴趣的消息,覆盖基类的消息处理函数,实现自己的消息处理函数。

所有的命令目标(CCmdTarger或导出类对象)可以响应命令消息,程序员可以指定应用程序对象、框架窗口对象、视对象或文档对象等来处理某条命令消息。一般地,尽量由与命令消息关系密切的对象来处理,例如隐藏/显示工具栏由框架窗口处理,打开文件由应用程序对象处理,数据变化的操作由文档对象处理。

对话框的控制子窗口可以响应各类通知消息。

对于命令消息,MFC实现了一系列标准命令消息处理函数。标准命令ID在afxres.h中定义。表5-5列出了MFC标准命令的实现,从ID或者函数名可以大致地看出该函数的目的、功用,具体的实现有的后续章节会讲解,详细参见MFC技术文档。

程序员可以自己来处理这些标准消息,也可以通过不同的类或从不同的类导出自己的类来处理这些消息,不过最好遵循MFC的缺省实现。比如处理ID_FILE_NEW命令,最好由CWinApp的派生类处理。

表5-5 标准命令消息处理函数

ID

函数

实现函数的类

ID_FILE_NEW

OnFileNew

CWinApp

ID_FILE_OPEN

OnFileOpen

CWinApp

ID_FILE_CLOSE

OnFileClose

CDocument

ID_FILE_SAVE

OnFileSave

CDocument

ID_FILE_SAVE_AS

OnFileSaveAs

CDocument

ID_FILE_SAVE_COPY_AS

OnFileSaveCopyAs

COleServerDoc

ID_FILE_UPDATE

OnUpdateDocument

COleServerDoc

ID_FILE_PAGE_SETUP

OnFilePrintSetup

CWinApp

转下页

续表

ID_FILE_PRINT

OnFilePrint

CView

ID_FILE_PRINT_PREVIEW

OnFilePrintPreview

CView

ID_FILE_MRU_FILE1...FILE16

OnUpdateRecentFileMenu

CWinApp

ID_EDIT_CLEAR

 

CView没有实现,

ID_EDIT_CLEAR_ALL

 

但是,如果有实现

ID_EDIT_COPY

 

函数,就是派生类

ID_EDIT_CUT

 

CEditView的

ID_EDIT_FIND

 

实现函数

ID_EDIT_PASTE_LINK

   

ID_EDIT_PASTE_SPECIAL

   

ID_EDIT_REPEAT

   

ID_EDIT_REPLACE

   

ID_EDIT_SELET_ALL

   

ID_EDIT_UNDO

   

ID_WINDOW_NEW

OnWindowNew

CMDIFrameWnd

ID_WINDOW_ARRANGE

OnMDIWindowCmd

CMDIFrameWnd

ID_WINDOW_CASCADE

   

ID_WINDOW_TILE_HORZ

   

ID_WINDOW_TILE_VERT

   

ID_WINDOW_SPLIT

 

CSplitterWnd

ID_APP_ABOUT

   

ID_APP_EXIT

OnAppExit

CWinApp

ID_HELP_INDEX

OnHelpIndex

CWinApp

ID_HELP_USING

OnHelpUsing

CWinApp

ID_CONTEXT_HELP

OnContextHelp

CWinApp

转下页

续表

ID_HELP

OnHelp

CWinApp

ID_DEFAULT_HELP

OnHelpIndex

CWinApp

ID_NEXT_PANE

OnNextPaneCmd

CSplitterWnd

ID_PREV_PANE

OnNextPaneCmd

CSplitterWnd

ID_OLE_INSERT_NEW

   

ID_OLE_EDIT_LINKS

   

ID_OLE_VERB_FIRST...LAST

   

ID_VIEW_TOOLBAR

 

CFrameWnd

ID_VIEW_STATUS_BAR

 

CFrameWnd

ID_INDICATOR_CAPS

ID_INDICATOR_NUM

ID_INDICATOR_SCRL

ID_INDICATOR_KANA

OnUpdateKeyIndicator

CFrameWnd

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:MFC 教程 MFC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接