若控件支持自动拖放,则可将其 OLEDragMode 和 OLEDropMode 属性中的至少一个设置为“自动化”,从而对 Visual Basic 控件向外拖动数据或向内放数据。例如,有时可能希望将文本从文本框控件拖动到 Word for Windows 文档中,或希望文本框控件能够接受从 Word for Windows 文档中拖动来的数据。
为了得以从文本框控件拖动数据,应将 OLEDragMode 属性设置为“自动化”。运行时,可选定输入到文本框控件中的文本,并将它拖动到打开的 Word for Windows 文档中。
按照缺省规定,在将文本从文本框控件拖动到 Word for Windows 文档时,文本被移动到文档而不是被复制。若放文本的同时按下 CTRL 键,则数据被复制到(而不是移动到)文档。对所有支持 OLE 拖放的对象或应用程序,这都是一个缺省性能。为限制此操作,使之只移动数据或只复制数据,需使用手工拖放技术修改自动性能。关于更详细的信息,请参阅“使用鼠标和键盘修改放下效果和用户反馈”。
为使文本框控件在 OLE 拖放操作中自动获得数据,应将其 OLEDropMode 属性设置为“自动化”。运行时,除非在拖动的同时按下 CTRL 键或通过代码修改控件的缺省性能,否则,对于从允许 OLE 操作的应用程序拖动到文本框控件的数据,进行的是移动而不是复制操作。
自动支持拖放操作也有其局限性,其中某些来自控件功能本身。例如,如果将 Word for Windows 文档中的文本拖动到文本框控件,则 Word 文档中的所有丰富文本格式将消失,因为文本框控件不支持这种格式。大多数控件都有大致相同的限制。对自动操作的另一个限制是:无法对所拖放数据的类型进行全面控制。
注意 在拖动数据时可能会注意到鼠标的指针,对于所拖动数据的类型,指出指针经过的对象是否支持 OLE 拖放。如果对象支持 OLE 拖放,则显示“放”指针。如果对象不支持 OLE 拖放,则显示“不放”指针。