在 MFC 中,COleDropTarget::Revoke 是 COleDropTarget 类的一个公共方法,用于撤销先前通过 COleDropTarget::Register 方法注册的窗口作为 OLE 拖放目标的状态。

以下是 COleDropTarget::Revoke 方法的一般用法:
BOOL COleDropTarget::Revoke();

该方法没有参数,当调用它时,它会撤销先前通过 COleDropTarget::Register 方法注册的窗口。如果撤销成功,该方法返回 TRUE,否则返回 FALSE。

在实际应用中,通常在窗口对象即将被销毁时(例如在窗口对象的析构函数中),调用 COleDropTarget::Revoke 方法,以确保在窗口被销毁之前取消拖放目标的注册。

以下是一个示例:
class CMyDialog : public CDialog
{
    COleDropTarget m_dropTarget;

public:
    CMyDialog(CWnd* pParent = nullptr)
        : CDialog(IDD_MYDIALOG, pParent)
    {
        // 注册窗口为拖放目标
        m_dropTarget.Register(this);
    }

    ~CMyDialog()
    {
        // 在窗口销毁前撤销拖放目标的注册
        m_dropTarget.Revoke();
    }

    // 其他类成员和消息处理函数...
};

这样,在 CMyDialog 对象被销毁之前,拖放目标的注册就会被撤销。


转载请注明出处:http://www.zyzy.cn/article/detail/21392/MFC/COleDropTarget