代码之家  ›  专栏  ›  技术社区  ›  Peter Booster

如何在VBA中擦除或重新加载笔划到InkPicture以进行Ms访问?

  •  1
  • Peter Booster  · 技术社区  · 14 年前

    我想显示我以前保存在Ms Access中inkPicture对象上的笔划(它通过ActiveX显示在窗体上)。

    笔划作为“笔划”字段中的ole对象保存在表中。

    现在,做一次就足够简单了(一行代码),我可以毫无问题地使用这个片段:

    Public Sub loadInkImage(MyInkPic As MSINKAUTLib.InkPicture)       
    
        MyInkPic.Object.Ink.Load (Me.Strokes)       
    
    End Sub
    

    当我想再做一次时,问题就来了:墨水画不再“干净”,无法加载笔划。

    谢谢!

    1 回复  |  直到 14 年前
        1
  •  1
  •   Fink    14 年前

    您是要将两组笔划加载到同一对象中,还是只是将一组新笔划重新加载到InkPicture中?如果要重新加载笔划,则需要创建新的InkDisp对象,然后将其指定给InkPicture。

    Public Sub loadInkImage(MyInkPic As MSINKAUTLib.InkPicture)
    
        Dim newInk As New MSINKAUTLib.InkDisp 'need new object to load new ink
    
        newInk.Load Me.Strokes 'load in the ink
    
        Set MyInkPic.Ink = newInk 'set the InkPictures Ink to the new Ink
    End Sub
    

    注意:我目前没有能力测试这个,所以它可能需要调整。