簡體   English   中英

如何從vb6 MSFlexGrid OLEDragDrop事件獲取圖像

[英]How to get image from vb6 MSFlexGrid OLEDragDrop event

我有一個從VB6轉換為VB.NET的VB項目。

在此,我有一個MSFlexGrid用作互操作兼容性。 這意味着它將某種程度上轉換為.NET,但是在內部,許多機制仍然來自VB6 / COM。

我需要從PictureBox(.NET)中拖動圖像並將其放在flexgrid上。

這是初始化拖動的操作:

Private Sub picStartSymbol_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles picStartSymbol.MouseDown
    picStartSymbol.DoDragDrop(picStartSymbol.Image, DragDropEffects.Copy)
End Sub

這是我在FlexGrid中獲得成功的地方:

Private Sub flxConstructionPoints_OLEDragDrop(ByVal sender As Object, ByVal e As AxMSFlexGridLib.DMSFlexGridEvents_OLEDragDropEvent) Handles flxConstructionPoints.OLEDragDrop

    Dim image As Image 
    Dim oleImage As Object
    oleImage = e.data.GetData(2) ''This gets an object of type 2 (bitmap)
    ''How to convert oleImage to a .NET Image?
End Sub

我沒有VB6了,所以無法測試,但是嘗試添加對Microsoft.VisualBasic.Compatibility的引用,然后調用:

Dim image as Image = Microsoft.VisualBasic.Compatibility.VB6.IPictureToImage(oleImage)

要么

Dim image as Image = Microsoft.VisualBasic.Compatibility.VB6.IPictureDispToImage(oleImage)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM