UIActiveX.h ( 文件浏览 )
- keepall 发布于 2016-08-23 13:24
- 浏览次数:376
- 下载次数: 1
- 下载需 20 积分
-
- 侵权举报
#ifndef __UIACTIVEX_H__ #define __UIACTIVEX_H__ #pragma once struct IOleObject; namespace DuiLib { ///////////////////////////////////////////////////////////////////////////////////// // class CActiveXCtrl; template< class T > class CSafeRelease { public: CSafeRelease(T* p) : m_p(p) { }; ~CSafeRelease() { if( m_p != NULL ) m_p->Release(); }; T* Detach() { T* t = m_p; m_p = NULL; return t; }; T* m_p; }; ///////////////////////////////////////////////////////////////////////////////////// // class UILIB_API CActiveXUI : public CControlUI, public IMessageFilterUI { friend CActiveXCtrl; public: CActiveXUI(); virtual ~CActiveXUI(); LPCTSTR GetClass() const; LPVOID GetInterface(LPCTSTR pstrName); HWND GetHostWindow() const; bool IsDelayCreate() const; void SetDelayCreate(bool bDelayCreate = true); bool CreateControl(const CLSID clsid); bool CreateControl(LPCTSTR pstrCLSID); HRESULT GetControl(const IID iid, LPVOID* ppRet); CLSID GetClisd() const; CStdString GetModuleName() const; void SetModuleName(LPCTSTR pstrText); void SetVisible(bool bVisible = true); void SetInternVisible(bool bVisible = true); void SetPos(RECT rc); void DoPaint(HDC hDC, const RECT& rcPaint); void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue); LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled); protected: void ReleaseControl(); bool DoCreateControl(); protected: CLSID m_clsid; CStdString m_sModuleName; bool m_bCreated; bool m_bDelayCreate; IOleObject* m_pUnk; CActiveXCtrl* m_pControl; HWND m_hwndHost; }; } // namespace DuiLib #endif // __UIACTIVEX_H__
...
展开> <收缩
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^ Sponsored links