VARCHART XGantt用戶手冊(ActiveX):OLE Drag & Drop
VARCHART XGantt是一個交互式的甘特圖控件,其模塊化的設(shè)計讓您可以創(chuàng)建滿足您和您的客戶所需求的應(yīng)用程序。它可以快速、簡單地集成到您的應(yīng)用程序中,幫助您識別性能瓶頸、避免延遲以及高效利用資源,使復雜數(shù)據(jù)變得更加容易理解。本文講述了VARCHART ActiveX中的OLE拖放操作。
VARCHART XGantt 2019資源匯總專題,匯集了VARCHART XGantt最新的文章教程和視頻教程等內(nèi)容,幫助您快速上手VARCHART XGantt~
VARCHART ActiveX中的OLE拖放操作與Visual Basic中的兼容。方法、屬性和事件顯示的名稱和結(jié)果與Visual Basic的默認對象相同。
通過OLE拖放活動或子圖可以移動。拖放模式可以自動啟動,也可以通過VcGantt方法OLEDrag手動啟動。
OLE Drag模式
OLE拖動模式使您可以將節(jié)點拖動到當前VARCHART ActiveX控件的限制之外。有兩種選擇:
手動:在這種模式下,您需要調(diào)用OLEDrag方法來觸發(fā)拖動節(jié)點。
自動:在這種模式下,將自動開始拖動節(jié)點,使其超出控制限制。
啟動OLE拖放操作時,將為DataObject提供源組件的數(shù)據(jù),并設(shè)置effects參數(shù)以觸發(fā)OLEStartDrag事件以及源的其他事件。這使您可以控制操作,例如添加其他數(shù)據(jù)格式。
默認情況下,VARCHART ActiveX使用剪貼板格式CF_TEXT(與Visual Basic中的vbCFText格式相對應(yīng))和CF_UNICODETEXT(對于Windows NT 4.0 / 2000 / XP; Visual Basic:13),可以很容易地檢索它們。它與CSV文件使用的數(shù)據(jù)格式相同。
拖動時,用戶可以使用<Ctrl>鍵決定是否移動或復制對象。
OLE Drop模式
通過OLE放置模式,可以啟用將另一個VARCHART ActiveX控件的節(jié)點放置到活動控件上的功能。
共有三個選項:
None:不能將其他組件的節(jié)點放置在活動組件上。
手動:放置其他組件的節(jié)點時,您會收到OLEDragDrop事件,該事件使您能夠處理放置的對象接收到的數(shù)據(jù),例如生成節(jié)點或加載文件。如果源組件和目標組件相同,則您將收到事件OnNodeModifyEx或OnNodeCreate與OLE Drag&Drop一起關(guān)閉。
自動:放置將由控件自動處理,并在可能的情況下在放置操作的位置顯示一個節(jié)點。
事件
如果您不希望VARCHART ActiveX組件自動執(zhí)行拖放操作,可以通過以下方式與之交互:
啟動OLE拖放操作后,源控件將釋放OLEStartDrag事件。通過此事件,您可以將數(shù)據(jù)格式添加到傳遞的DataObject中,并定義允許的放置效果(即復制或移動)。移動對象后,將在目標控件中觸發(fā)OLEDragOver事件,該事件允許將放置效果設(shè)置為復制、移動或禁止。
目標控件中的每個OLEDragOver事件將觸發(fā)源控件中的OLEGiveFeedback事件,該事件允許設(shè)置鼠標光標。如果在目標控件中將OLEDropMode設(shè)置為“自動”,則當用戶放下對象時,將調(diào)用OLEDragDrop事件。如果在目標控件中將OLEDropMode設(shè)置為“手動”,并且源組件和目標組件不相同,則要產(chǎn)生與下降效果相對應(yīng)的結(jié)果,這是您的工作。在源控件中執(zhí)行該操作之后,將觸發(fā)OLECompleteDrag事件。如果您在OLEGiveFeedback事件中手動更改了鼠標光標,則應(yīng)立即將其重置。
注意:源和目標控件可能是同一控件。它們也可能是VARCHART ActiveX以外的控件,甚至根本不屬于您的應(yīng)用程序。如果要確保源控件和目標控件屬于您的應(yīng)用程序,則可以通過DataObject方法SetData設(shè)置格式。必須先通過Windows API調(diào)用RegisterClipboardFormat注冊該格式,然后才能使用該格式。您可以通過目標控件的OLEDragOver和OLEDragDrop事件上的DataObject方法GetFormat驗證格式是否存在。
如果要以幾種數(shù)據(jù)格式提供數(shù)據(jù),并且希望避免為DataObject指定所有格式的工作,則可以將關(guān)鍵字Empty用作SetData:
dataObject.SetData為空,myClipFormat
根據(jù)使用dataObject.GetFormat的格式要求,目標應(yīng)用程序?qū)⒒卮餞rue。對源控件的DataObject.GetData調(diào)用將觸發(fā)OLESetData事件,該事件允許傳遞所需的格式。
當您要拖放文件名時,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)的文章資訊,或者點擊下載VARCHART XGantt試用版嘗試一下~
相關(guān)內(nèi)容推薦:
想要購買VARCHART XGantt正版授權(quán),或了解更多產(chǎn)品信息請點擊