freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

com開發(fā)-展示頁

2024-10-30 03:46本頁面
  

【正文】 m_pOuterUnknown DWORD InternalQueryInterface(const void*, LPVOID* ppvObj)。 // call to enable aggregation void ExternalDisconnect()。 // external controlling unknown if != NULL DWORD m_xInnerUnknown。 // avoid warning from piler \ CCmdTarget類實現(xiàn) IUnknown public: // data used when CCmdTarget is made OLE aware long m_dwRef。 } ? METHOD_PROLOGUE_EX_宏定義: define METHOD_PROLOGUE_EX(theClass, localClass) \ theClass* pThis = ((theClass*)((BYTE*)this m_nOffset))。 END_INTERFACE_PART_STATIC(SpellCheck) }。 …… STDMETHOD_(void, FreeLibrary)()。 \ MFC版本的字典對象類定義 class CDictionary : public CCmdTarget { DECLARE_DYNCREATE(CDictionary) CDictionary()。 \ AFX_COMDAT const AFX_DATADEF AFX_INTERFACEMAP_ENTRY theClass::_interfaceEntries[] = \ { \ define INTERFACE_PART(theClass, iid, localClass) \ { amp。theClass::_GetBaseInterfaceMap, amp。theClass::interfaceMap。theBase::interfaceMap。 }。 else const AFX_INTERFACEMAP* pBaseMap。 }。 \ struct AFX_INTERFACEMAP_ENTRY { const void* piid。 \ static const AFX_INTERFACEMAP* PASCAL _GetBaseInterfaceMap()。 } “用嵌套類實現(xiàn) COM接口”原理 m_pData m_DictFilename[128] m_Ref m_nWordNumber m_nStructNumber QueryInterface AddRef Release ……. m_dictionaryObj m_spellCheckObj QueryInterface AddRef Release …… QueryInterface AddRef Release …… Vtable for IDictionary Vtable for ISpellCheck CDictionary vptr vptr CDictionary的非虛函數(shù) MFC:接口映射表 ? CCmdTarget類 ? CCmdTarget::m_dwRef為引用計數(shù) ?接口映射表與消息映射表非常類似 ?接口映射表:記錄了 CCmdTarget類中每一個嵌套類的接口 ID以及接口 vtable與父類 this指針之間的偏移量 ? offsetof宏:成員類與父類之間的偏移值 DECLARE_INTERFACE_MAP define DECLARE_INTERFACE_MAP() \ private: \ static const AFX_INTERFACEMAP_ENTRY _interfaceEntries[]。 } ULONG CDictionary::XDictionaryObj::AddRef() { return m_pParentAddRef()。 } 用嵌套類實現(xiàn) COM接口 (續(xù)四 ) ULONG CDictionary::XDictionaryObj::QueryInterface(const IIDamp。 } *ppv = NULL。 AddRef()。 } else if (iid == IID_SpellCheck) { *ppvObj = amp。 AddRef()。 iid, void **ppvObj) { if (iid == IID_IUnknown || iid == IID_Dictionary) { *ppvObj = amp。 m_spellCheckObj. m_pParent = this。 }。 int m_Ref 。 private : struct DictWord *m_pData。 virtual BOOL __stdcall CheckWord (String word, String *)。 virtual ULONG __stdcall AddRef()。 未完 用嵌套類實現(xiàn) COM接口 (續(xù)一 ) class XSpellCheckObj : public ISpellCheck { public: CDictionary * m_pParent。 … ... virtual void __stdcall FreeLibrary()。 virtual ULONG __stdcall Release()。 virtual HRESULT __stdcall QueryInterface(REFIID iid, void** ppvObj)。 ULONG __stdcall Release()。MFC基礎(chǔ) ? 應(yīng)用類 – AfxGetApp – CWinApp::InitInstance – CWinApp::ExitInstance – CWinApp::OnIdle – CWinApp::Run – CWnd *m_pMainWnd ? 窗口類 – AfxGetMainWnd MFC的消息處理機制 ——消息映射表 ?在 CWnd派生類定義中加入聲明: DECLARE_MESSAGE_MAP() ?在類的實現(xiàn)文件中加入表和表項的定義: BEGIN_MESSAGE_MAP(theClass, baseClass) ...... 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應(yīng)用類型 ? 常規(guī)應(yīng)用: MDI應(yīng)用、 SDI應(yīng)用、基于對話框程序 ? DLL應(yīng)用:靜態(tài)連接 MFC庫的正規(guī) DLL、動態(tài)連接 MFC庫的正規(guī) DLL、 MFC擴(kuò)展 DLL ? 其他應(yīng)用: – 支持 OLE服務(wù)或者包容器的 SDI應(yīng)用 – 支持 OLE服務(wù)或者包容器的 MDI應(yīng)用 – 支持自動化 (Automation)服務(wù)的 SDI或者 MDI程序 – ActiveX控制應(yīng)用 (OCX應(yīng)用 ) MFC庫結(jié)構(gòu) COb jectCCm d T ar g etCW n d應(yīng)用類結(jié)構(gòu)窗口支持異常類 文件服務(wù)類文檔類框架窗口類控制條類屬性頁表類對話框類 視類 控制類圖形設(shè)備環(huán)境類控制支持類W in d o w s 套接字類圖形對象類菜單類ODBC 支持類DA O 支持類同步類其它類:In tern et 支持類自動化類型運行時刻對象支持簡單值類型結(jié)構(gòu)其它支持類集合模板類用于同步的類數(shù)組類列表類映射類In tern et 類MFC對 COM應(yīng)用的支持 用嵌套類實現(xiàn) COM接口 class CDictionary { …… //構(gòu)造函數(shù)和析構(gòu)函數(shù) HRESULT __stdcall QueryInterface(REFIID iid, void** ppvObj)。S T DM ET HO D ( m e th o d ) 聲明接口成員函數(shù) m e th o d ,函數(shù)返回類型為 HRES UL T 。 VC提供的用于描述接口的宏 與 COM 接口有關(guān)的一些宏的說明宏 說明DECLA RE_ INT ERF A CE ( i f a c e ) 聲明接口 if a c e ,它不從其它的接口派生。 STDMETHOD(LockServer)(THIS_ BOOL fLock) PURE。 STDMETHOD_(ULONG,Release) (THIS) PURE。利用宏描述接口 DECLARE_INTERFACE_(IClassFactory, IUnknown) { STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE。Ob jBas e .h 所有的 COM A P I 函數(shù)的說明。Ob
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1