以下是 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