Drag and Drop: Customizing-自定义拖放

王朝vc·作者佚名  2006-01-09
宽屏版  字体: |||超大  

拖放的默认实现是对大多数应用程序来说足够了,然而,许多应用程序要求这些标准改变这些标准的行为。本文将介绍怎么改变这些默认的步骤。另外,你可以使用这个技术来建立不支持符合文档作为Drop源的应用程序。

如果你正在自定义OLE拖放行为或者你已经有了一个非OLE应用程序,你必须创建一个COleDataSource对象来包含数据。当用户开始启动一个拖放操作的时候,你的代码应该在该对象调用DoDragDrop函数而不是在其他支持拖放操作的类中调用。

另外,你可以创建一个COleDropSource对象来控制Drop和重载它的许多函数,增加对你想改变的行为类型的依赖。这个Drop源对象被传递给COleDataSource::DoDragDrop来改变这些函数的默认行为。这些不同的选项让你在你的程序中支持拖放操作有更多的弹性。关于数据源的详细信息,见Data Objects and Data Sources(OLE)。

你可以重载下面的函数来自定义拖放操作:

OnBeginDrag

在你调用DoDragDrop之后如何初始化拖动

GiveFeedback

可视的返回,例如不同的拖动结果,光标不同

QueryContinueDrag

终止拖动操作。这个函数让你可以检测在拖动过程中的修饰键的状态。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有