Drag and Drop: Customizing-自定义拖放

     拖放的默认实现是对大多数应用程序来说足够了,然而,许多应用程序要求这些标准改变这些标准的行为。本文将介绍怎么改变这些默认的步骤。另外,你可以使用这个技术来建立不支持符合文档作为Drop源的应用程序。
     如果你正在自定义OLE拖放行为或者你已经有了一个非OLE应用程序,你必须创建一个COleDataSource对象来包含数据。当用户开始启动一个拖放操作的时候,你的代码应该在该对象调用DoDragDrop函数而不是在其他支持拖放操作的类中调用。
     另外,你可以创建一个COleDropSource对象来控制Drop和重载它的许多函数,增加对你想改变的行为类型的依赖。这个Drop源对象被传递给COleDataSource::DoDragDrop来改变这些函数的默认行为。这些不同的选项让你在你的程序中支持拖放操作有更多的弹性。关于数据源的详细信息,见Data Objects and Data Sources(OLE)
 你可以重载下面的函数来自定义拖放操作:

  OnBeginDrag 在你调用DoDragDrop之后如何初始化拖动
 GiveFeedback 可视的返回,例如不同的拖动结果,光标不同
 QueryContinueDrag 终止拖动操作。这个函数让你可以检测在拖动过程中的修饰键的状态。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值