繁体   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