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