(1)用atl7.0向导生成了一个复合控件,类名是CMyCtl,默认有个对话框资源,请问这个对话框和CMyCtl之间是什么关系呢?
(2)如果CMyCtl就代表这个对话框,那么它为什么没有从CDialogImpl继承而来呢?
(3)在这个类中的m_hWnd成员是继承自哪个类呢?
(4)在vs2003中,怎么找不到生成“full control"的向导,怎么找到它?注:CMyCtl派生自:CComObjectRootEx,IDispatchImpl,IPersistStreamInitImpl,IOleControlImpl,
IOleObjectImpl,IOleInPlaceActiveObjectImpl,IViewObjectExImpl,IOleInPlaceObjectWindowlessImpl,
ISupportErrorInfo,IPersistStorageImpl,ISpecifyPropertyPagesImpl,IQuickActivateImpl,
IDataObjectImpl,IProvideClassInfo2Impl,CComCoClass,CComCompositeControl(万分感谢各位的指导!!!)
(2)如果CMyCtl就代表这个对话框,那么它为什么没有从CDialogImpl继承而来呢?
(3)在这个类中的m_hWnd成员是继承自哪个类呢?
(4)在vs2003中,怎么找不到生成“full control"的向导,怎么找到它?注:CMyCtl派生自:CComObjectRootEx,IDispatchImpl,IPersistStreamInitImpl,IOleControlImpl,
IOleObjectImpl,IOleInPlaceActiveObjectImpl,IViewObjectExImpl,IOleInPlaceObjectWindowlessImpl,
ISupportErrorInfo,IPersistStorageImpl,ISpecifyPropertyPagesImpl,IQuickActivateImpl,
IDataObjectImpl,IProvideClassInfo2Impl,CComCoClass,CComCompositeControl(万分感谢各位的指导!!!)
----------------------------------------------------------------------------
谢谢回复,com的书我也看过不少,《com本质论》《com原理及应用》《com技术内幕》都看过,大道理也懂一些。
不过我很缺实际动手经验。希望大家能就上述具体问题给予我回复,谢谢!
m_hWnd是IOleControlImpl中的成员
CMyCtl是一个OleControl继承的
另外没有用VS2003写过ActiveX,所以请别人来讲
--------------------------------------------------
msdn中好像没说m_hWnd是IOleControlImpl的成员吧!查看msdn,m_hWnd好像是CWindow的成员,我的疑惑是CMyCtl并没有从CWindow派生,那么它的m_hWnd从哪里来的呢?
m_hWnd在CWindow里面定义的。这个继承链是相当的长CComCompositeControl CComControl CWindowImpl CWindowImplBaseT CWindow最后不清楚你说的Full control是什么,6.0我没有怎么用com
大致的意思我觉得你那个对话框是CABOUT的对话框,其它的楼主应该清楚了吧