当您需要一个无窗口控件是OLE拖放操作时,针对重写 GetWindowlessDropTarget。
virtual IDropTarget* GetWindowlessDropTarget( );
返回值
对对象的 IDropTarget 接口的指针。因为它没有一个窗口,未窗口的对象无法注册 IDropTarget 接口。但是,参与拖放,未窗口的对象仍可以实现接口并返回它在 GetWindowlessDropTarget。
备注
通常,这需要控件windows注册表作为放置目标。但,因为控件不具有各自的窗口,容器将使用自己的窗口作为放置目标。控件需要提供容器可以委托在调用 IDropTarget 接口的实现。例如:
IDropTarget* CMyAxCtrl::GetWindowlessDropTarget()
{
m_xDropTarget.AddRef();
return &m_xDropTarget;
}
要求
Header: afxctl.h