VC提供的用于描述接口的宏 与COM接口有关的一些宏的说明 宏 说明 DECLARE INTERFACE(iface 声明接口iace,它不从其它的接口派生。 DECLARE INTERFACE( iface, baseiface)声明接口iece,它从接口bsee派生。 STDMETHOD(method) 声明接口成员函数 method,函数返回类型为 HRESULT。 STDMETHOD(type, method) 声明接口成员函数 method,函数返回类型为tpe
VC提供的用于描述接口的宏 与 COM 接口有关的一些宏的说明 宏 说明 DECLARE_INTERFACE(iface) 声明接口 iface,它不从其它的接口派生。 DECLARE_INTERFACE_( iface, baseiface) 声明接口 iface,它从接口 baseiface 派生。 STDMETHOD(method) 声明接口成员函数 method,函数返回类型为 HRESULT。 STDMETHOD_(type,method) 声明接口成员函数 method,函数返回类型为 type
MFC基础 应用类 Afx Netapp CWinApp: InitInstance CWinApp: ExitInstance CWinApp: Onldle CWinApp: Run CWnd*m pMainWnd 窗口类 AfxGetmain Wnd
MFC基础 • 应用类 – AfxGetApp – CWinApp::InitInstance – CWinApp::ExitInstance – CWinApp::OnIdle – CWinApp::Run – CWnd *m_pMainWnd • 窗口类 – AfxGetMainWnd
MFC的消息处理机制 消息映射表 在CWnd派生类定义中加入声明: DECLARE MESSAGE MAPO 在类的实现文件中加入表和表项的定义: BEGIN MESSAGE MAP(the Class, base Class END MESSAGE MAP
MFC的消息处理机制 ——消息映射表 • 在CWnd派生类定义中加入声明: DECLARE_MESSAGE_MAP() • 在类的实现文件中加入表和表项的定义: BEGIN_MESSAGE_MAP(theClass, baseClass) ...... END_MESSAGE_MAP
消息映射表示例 BEGIN MESSAGE MAP(the Class, base Class RAFX MSG MAP(the Class) ON WM SETFOCUSO ON WM CREATEO ON WM DESTROYO ON WM CLOSEO ON WM SIZEO ON MESSAGECWM COMMANDHELP, OnCommandHelp ON MESSAGECWM HELPHITTEST, On HelpHitTest ON UPDATE COMMAND UI(ID VIEW STATUS BAR OnUpdate ControlBarMenu) ON NOTIFY EX RANGE(TTN NEEDTEXTW, 0, OXFFFF On ToolTip Text) ∥} AFX MSG MAP END MESSAGE MAP
消息映射表示例 BEGIN_MESSAGE_MAP(theClass, baseClass) //{{AFX_MSG_MAP(theClass) ON_WM_SETFOCUS() ON_WM_CREATE() ON_WM_DESTROY() ON_WM_CLOSE() ON_WM_SIZE() ON_MESSAGE(WM_COMMANDHELP, OnCommandHelp) ON_MESSAGE(WM_HELPHITTEST, OnHelpHitTest) ON_UPDATE_COMMAND_UI(ID_VIEW_STATUS_BAR, OnUpdateControlBarMenu) ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipText) //}}AFX_MSG_MAP END_MESSAGE_MAP
MFC应用类型 常规应用:MD应用、SD应用、基于对话框程序 DLL应用:静态连接MFC库的正规DL、动态连接 MFC库的正规DLL、MFC扩展DL 其他应用: 支持OLE服务或者包容器的SD应用 支持OLE服务或者包容器的MD应用 支持自动化( Automation)服务的SD或者MD程序 ActiveX控制应用OCX应用
MFC应用类型 • 常规应用:MDI应用、SDI应用、基于对话框程序 • DLL应用:静态连接MFC库的正规DLL、动态连接 MFC库的正规DLL、MFC扩展DLL • 其他应用: – 支持OLE服务或者包容器的SDI应用 – 支持OLE服务或者包容器的MDI应用 – 支持自动化(Automation)服务的SDI或者MDI程序 – ActiveX控制应用(OCX应用)