[英]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.