• <menu id="w2i4a"></menu>
  • logo VARCHART XGantt 2019教程

    文檔首頁>>VARCHART XGantt 2019教程>>VARCHART XGantt用戶手冊(cè)(ActiveX):OLE Drag & Drop

    VARCHART XGantt用戶手冊(cè)(ActiveX):OLE Drag & Drop


    VARCHART XGantt是一個(gè)交互式的甘特圖控件,其模塊化的設(shè)計(jì)讓您可以創(chuàng)建滿足您和您的客戶所需求的應(yīng)用程序。它可以快速、簡(jiǎn)單地集成到您的應(yīng)用程序中,幫助您識(shí)別性能瓶頸、避免延遲以及高效利用資源,使復(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)對(duì)象相同。

    通過OLE拖放活動(dòng)或子圖可以移動(dòng)。拖放模式可以自動(dòng)啟動(dòng),也可以通過VcGantt方法OLEDrag手動(dòng)啟動(dòng)。

    OLE Drag模式

    OLE拖動(dòng)模式使您可以將節(jié)點(diǎn)拖動(dòng)到當(dāng)前VARCHART ActiveX控件的限制之外。有兩種選擇:

    • 手動(dòng):在這種模式下,您需要調(diào)用OLEDrag方法來觸發(fā)拖動(dòng)節(jié)點(diǎn)。

    • 自動(dòng):在這種模式下,將自動(dòng)開始拖動(dòng)節(jié)點(diǎn),使其超出控制限制。

    啟動(dòng)OLE拖放操作時(shí),將為DataObject提供源組件的數(shù)據(jù),并設(shè)置effects參數(shù)以觸發(fā)OLEStartDrag事件以及源的其他事件。這使您可以控制操作,例如添加其他數(shù)據(jù)格式。

    默認(rèn)情況下,VARCHART ActiveX使用剪貼板格式CF_TEXT(與Visual Basic中的vbCFText格式相對(duì)應(yīng))和CF_UNICODETEXT(對(duì)于Windows NT 4.0 / 2000 / XP; Visual Basic:13),可以很容易地檢索它們。它與CSV文件使用的數(shù)據(jù)格式相同。

    拖動(dòng)時(shí),用戶可以使用<Ctrl>鍵決定是否移動(dòng)或復(fù)制對(duì)象。

    OLE Drop模式

    通過OLE放置模式,可以啟用將另一個(gè)VARCHART ActiveX控件的節(jié)點(diǎn)放置到活動(dòng)控件上的功能。

    共有三個(gè)選項(xiàng):

    • None:不能將其他組件的節(jié)點(diǎn)放置在活動(dòng)組件上。

    • 手動(dòng):放置其他組件的節(jié)點(diǎn)時(shí),您會(huì)收到OLEDragDrop事件,該事件使您能夠處理放置的對(duì)象接收到的數(shù)據(jù),例如生成節(jié)點(diǎn)或加載文件。如果源組件和目標(biāo)組件相同,則您將收到事件OnNodeModifyExOnNodeCreate與OLE Drag&Drop一起關(guān)閉。

    • 自動(dòng):放置將由控件自動(dòng)處理,并在可能的情況下在放置操作的位置顯示一個(gè)節(jié)點(diǎn)。

    事件

    如果您不希望VARCHART ActiveX組件自動(dòng)執(zhí)行拖放操作,可以通過以下方式與之交互:

    啟動(dòng)OLE拖放操作后,源控件將釋放OLEStartDrag事件。通過此事件,您可以將數(shù)據(jù)格式添加到傳遞的DataObject中,并定義允許的放置效果(即復(fù)制或移動(dòng))。移動(dòng)對(duì)象后,將在目標(biāo)控件中觸發(fā)OLEDragOver事件,該事件允許將放置效果設(shè)置為復(fù)制移動(dòng)禁止。

    目標(biāo)控件中的每個(gè)OLEDragOver事件將觸發(fā)源控件中的OLEGiveFeedback事件,該事件允許設(shè)置鼠標(biāo)光標(biāo)。如果在目標(biāo)控件中將OLEDropMode設(shè)置為“自動(dòng)”,則當(dāng)用戶放下對(duì)象時(shí),將調(diào)用OLEDragDrop事件。如果在目標(biāo)控件中將OLEDropMode設(shè)置為“手動(dòng)”,并且源組件和目標(biāo)組件不相同,則要產(chǎn)生與下降效果相對(duì)應(yīng)的結(jié)果,這是您的工作。在源控件中執(zhí)行該操作之后,將觸發(fā)OLECompleteDrag事件。如果您在OLEGiveFeedback事件中手動(dòng)更改了鼠標(biāo)光標(biāo),則應(yīng)立即將其重置。

    注意:源和目標(biāo)控件可能是同一控件。它們也可能是VARCHART ActiveX以外的控件,甚至根本不屬于您的應(yīng)用程序。如果要確保源控件和目標(biāo)控件屬于您的應(yīng)用程序,則可以通過DataObject方法SetData設(shè)置格式。必須先通過Windows API調(diào)用RegisterClipboardFormat注冊(cè)該格式,然后才能使用該格式。您可以通過目標(biāo)控件的OLEDragOverOLEDragDrop事件上的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。對(duì)源控件的DataObject.GetData調(diào)用將觸發(fā)OLESetData事件,該事件允許傳遞所需的格式。

    當(dāng)您要拖放文件名時(shí),DataObjectFiles對(duì)象變得很有趣。若要拖動(dòng)文件名,首先必須使用dataObject.SetData Empty,vbCFFiles在OLEStartDrag事件中定義文件格式vbCFFiles(分別為CF_HDROP)?,F(xiàn)在,您可以使用DataObject.Files.Add方法添加文件。要放置文件名(例如從Windows資源管理器中放置),請(qǐng)先使用DataObject.GetFormat檢查vbCFFiles格式是否存在,然后讀取文件名,例如DataObject.Files(i)

    文章到這里就結(jié)束了,希望對(duì)您有所幫助~感興趣的朋友可以繼續(xù)關(guān)注我們,了解更多相關(guān)文章資訊,或者點(diǎn)擊下載VARCHART XGantt試用版嘗試一下~

    相關(guān)內(nèi)容推薦:

    VARCHART XGantt2019資源專題>>>

    VARCHART XGantt用戶手冊(cè)>>>


    想要購買VARCHART XGantt正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊“咨詢?cè)诰€客服”

    850×68.png

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();