Ms access 如何在VBA for Ms Access中擦除或重新加载InkPicture中的笔划?

Ms access 如何在VBA for Ms Access中擦除或重新加载InkPicture中的笔划?,ms-access,vba,Ms Access,Vba,我想在Ms Access中显示我以前保存在inkPicture对象上的笔划(它通过ActiveX保存在表单上) 笔划作为“笔划”字段中的ole对象保存在表格中 现在,做一次就足够简单了(一行代码),我可以毫无问题地使用这个代码段: Public Sub loadInkImage(MyInkPic As MSINKAUTLib.InkPicture) MyInkPic.Object.Ink.Load (Me.Strokes) End Sub 当我想再做一次

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

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

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

Public Sub loadInkImage(MyInkPic As MSINKAUTLib.InkPicture)       

    MyInkPic.Object.Ink.Load (Me.Strokes)       

End Sub
当我想再做一次时,问题来了:inkpicture不再“干净”,无法加载笔划。
仅仅删除现有的笔划是不起作用的,所以我怎样才能再次填充相同的墨迹呢


谢谢

您是要将两组笔划加载到同一对象中,还是只是将一组新笔划重新加载到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

注意:我目前没有能力测试它,因此可能需要调整。

它需要一些调整:inkPic.InkEnabled=False并返回到true,但除此之外:谢谢你,伙计!希望我能分配多个点!