翻譯|使用教程|編輯:莫成敏|2019-11-18 10:44:13.217|閱讀 248 次
概述:本文講述了VARCHART ActiveX中的OLE拖放操作,了解OLE Drag模式和OLE Drop模式如何設(shè)置。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
VARCHART XGantt是一個(gè)交互式的甘特圖控件,其模塊化的設(shè)計(jì)讓您可以創(chuàng)建滿足您和您的客戶所需求的應(yīng)用程序。它可以快速、簡單地集成到您的應(yīng)用程序中,幫助您識別性能瓶頸、避免延遲以及高效利用資源,使復(fù)雜數(shù)據(jù)變得更加容易理解。本文講述了VARCHART ActiveX中的OLE拖放操作。
點(diǎn)擊下載VARCHART XGantt免費(fèi)版
VARCHART XGantt 2019資源匯總專題,匯集了VARCHART XGantt最新的文章教程和視頻教程等內(nèi)容,幫助您快速上手VARCHART XGantt~
VARCHART ActiveX中的OLE拖放操作與Visual Basic中的兼容。方法、屬性和事件顯示的名稱和結(jié)果與Visual Basic的默認(rèn)對象相同。
通過OLE拖放活動或子圖可以移動。拖放模式可以自動啟動,也可以通過VcGantt方法OLEDrag手動啟動。
OLE Drag模式
OLE拖動模式使您可以將節(jié)點(diǎn)拖動到當(dāng)前VARCHART ActiveX控件的限制之外。有兩種選擇:
手動:在這種模式下,您需要調(diào)用OLEDrag方法來觸發(fā)拖動節(jié)點(diǎn)。
自動:在這種模式下,將自動開始拖動節(jié)點(diǎn),使其超出控制限制。
啟動OLE拖放操作時(shí),將為DataObject提供源組件的數(shù)據(jù),并設(shè)置effects參數(shù)以觸發(fā)OLEStartDrag事件以及源的其他事件。這使您可以控制操作,例如添加其他數(shù)據(jù)格式。
默認(rèn)情況下,VARCHART ActiveX使用剪貼板格式CF_TEXT(與Visual Basic中的vbCFText格式相對應(yīng))和CF_UNICODETEXT(對于Windows NT 4.0 / 2000 / XP; Visual Basic:13),可以很容易地檢索它們。它與CSV文件使用的數(shù)據(jù)格式相同。
拖動時(shí),用戶可以使用<Ctrl>鍵決定是否移動或復(fù)制對象。
OLE Drop模式
通過OLE放置模式,可以啟用將另一個(gè)VARCHART ActiveX控件的節(jié)點(diǎn)放置到活動控件上的功能。
共有三個(gè)選項(xiàng):
None:不能將其他組件的節(jié)點(diǎn)放置在活動組件上。
手動:放置其他組件的節(jié)點(diǎn)時(shí),您會收到OLEDragDrop事件,該事件使您能夠處理放置的對象接收到的數(shù)據(jù),例如生成節(jié)點(diǎn)或加載文件。如果源組件和目標(biāo)組件相同,則您將收到事件OnNodeModifyEx或OnNodeCreate與OLE Drag&Drop一起關(guān)閉。
自動:放置將由控件自動處理,并在可能的情況下在放置操作的位置顯示一個(gè)節(jié)點(diǎn)。
事件
如果您不希望VARCHART ActiveX組件自動執(zhí)行拖放操作,可以通過以下方式與之交互:
啟動OLE拖放操作后,源控件將釋放OLEStartDrag事件。通過此事件,您可以將數(shù)據(jù)格式添加到傳遞的DataObject中,并定義允許的放置效果(即復(fù)制或移動)。移動對象后,將在目標(biāo)控件中觸發(fā)OLEDragOver事件,該事件允許將放置效果設(shè)置為復(fù)制、移動或禁止。
目標(biāo)控件中的每個(gè)OLEDragOver事件將觸發(fā)源控件中的OLEGiveFeedback事件,該事件允許設(shè)置鼠標(biāo)光標(biāo)。如果在目標(biāo)控件中將OLEDropMode設(shè)置為“自動”,則當(dāng)用戶放下對象時(shí),將調(diào)用OLEDragDrop事件。如果在目標(biāo)控件中將OLEDropMode設(shè)置為“手動”,并且源組件和目標(biāo)組件不相同,則要產(chǎn)生與下降效果相對應(yīng)的結(jié)果,這是您的工作。在源控件中執(zhí)行該操作之后,將觸發(fā)OLECompleteDrag事件。如果您在OLEGiveFeedback事件中手動更改了鼠標(biāo)光標(biāo),則應(yīng)立即將其重置。
注意:源和目標(biāo)控件可能是同一控件。它們也可能是VARCHART ActiveX以外的控件,甚至根本不屬于您的應(yīng)用程序。如果要確保源控件和目標(biāo)控件屬于您的應(yīng)用程序,則可以通過DataObject方法SetData設(shè)置格式。必須先通過Windows API調(diào)用RegisterClipboardFormat注冊該格式,然后才能使用該格式。您可以通過目標(biāo)控件的OLEDragOver和OLEDragDrop事件上的DataObject方法GetFormat驗(yàn)證格式是否存在。
如果要以幾種數(shù)據(jù)格式提供數(shù)據(jù),并且希望避免為DataObject指定所有格式的工作,則可以將關(guān)鍵字Empty用作SetData:
dataObject.SetData為空,myClipFormat
根據(jù)使用dataObject.GetFormat的格式要求,目標(biāo)應(yīng)用程序?qū)⒒卮餞rue。對源控件的DataObject.GetData調(diào)用將觸發(fā)OLESetData事件,該事件允許傳遞所需的格式。
當(dāng)您要拖放文件名時(shí),DataObjectFiles對象變得很有趣。若要拖動文件名,首先必須使用dataObject.SetData Empty,vbCFFiles在OLEStartDrag事件中定義文件格式vbCFFiles(分別為CF_HDROP)。現(xiàn)在,您可以使用DataObject.Files.Add方法添加文件。要放置文件名(例如從Windows資源管理器中放置),請先使用DataObject.GetFormat檢查vbCFFiles格式是否存在,然后讀取文件名,例如DataObject.Files(i)。
文章到這里就結(jié)束了,希望對您有所幫助~感興趣的朋友可以繼續(xù)關(guān)注我們,了解更多金喜正規(guī)買球相關(guān)的文章資訊,或者點(diǎn)擊下載VARCHART XGantt試用版嘗試一下~
相關(guān)內(nèi)容推薦:
想要購買VARCHART XGantt正版授權(quán),或了解更多產(chǎn)品信息請點(diǎn)擊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: