CSDN博客

img newkey007

用ATL手法来实现接口设计

发表于2004/7/11 11:12:00  797人阅读

给出简单例子,体现一下设计思路

接口:

IPlatform: IUnknown

IView: IPlatform

IPicView: IView

---------------------------------

IContorl: IPlatform

IToolbarCtl: IContorl

=======================================

实现:

/////////////////////////////////////////////////////////////////////////////
// IPlatformImpl
template <class T>
class ATL_NO_VTABLE IPlatformImpl :
public T
{
public:

xxxx // IPlatform 的方法

}

/////////////////////////////////////////////////////////////////////////////
// IViewImpl
template <class T, class I>
class ATL_NO_VTABLE IViewImpl :
public T,
public I

{
 BEGIN_MSG_MAP(IViewImpl)
  MESSAGE_HANDLER(WM_ERASEBKGND , OnEraseBkGnd)
 END_MSG_MAP()
 
 
public:
 DECLARE_WND_CLASS("PLATFORM_VIEW")
 yyyy // IView的方法

}

//////////////////////////////////////////////////////////////////////////////////

class CPicView :
 public IViewImpl< CWindowImpl<CPicView>, IPlatformImpl<IPicView> >,
 public CComObjectRoot,
 public CComCoClass<CPicView>,

 

0 0

相关博文

我的热门文章

img
取 消
img