投稿者 snowmansnow  (社会人) 投稿日時 2020/4/2 18:02:27
魔界の仮面弁士さん、るきおさんごめんなさい。
質問以前ですね。ごめんなさい。

VBAでがんばっております。(javaもほんの少しだけ)
情報を参照すると15年とか10年前のものが多かったです。

フォームのイニシャライズにsetgesturestatusとかcollectionmodeとかをコピーしてみたのですが、
ボタンを押す前のストロークは、inkpicture1に描いたままの、ジェスチャ認識のようでした。
 (メッセージボックスを出しています)(認識はできるみたいです)

ボタンを押した後は、ジェスチャ認識になり、ストロークは消えますが、
その前のインクは、描いたままです。
 (メッセージボックスを出しています)

そこで、いただいたものを
Private Sub InkPicture1_Gesture(ByVal Cursor As MSINKAUTLib.IInkCursor, ByVal Strokes As MSINKAUTLib.IInkStrokes, ByVal Gestures As Variant, Cancel As Boolean)
    geid = Gestures(0).id
    Debug.Print Gestures(0).id ※1
    MsgBox Gestures(0).id  ※2
    
   InkPicture1.Ink.DeleteStrokes ※3
    Dim myInk As New MSINKAUTLib.InkDisp ※4
    InkPicture1.InkEnabled = False ※5
    Set InkPicture1.Ink = myInk ※6
    
   InkPicture1.InkEnabled = True
    
    
    If Gestures(0).id <> MSINKAUTLib.InkApplicationGesture.IAG_NoGesture Then
        Dim newGuid As String
        newGuid = CreateGuid
        Strokes(0).ExtendedProperties.Add newGuid, Gestures(0).id
        Cancel = True
    End If
End Sub

て、変えてみたのですが、
※3から※6は、読込時のリセットに使っています。これで消そうと思ったのですが、
 でもこれを入れると、ユーザーが操作や認識を行っている間は、操作を実行できません。
 になっちゃいます。

inkpicture1だけジェスチャで、inkpicture2、inkpicture3はinkにしています。
 inkpicture1は、ジェスチャだけで消えるものにしたいのですが、良い手はございますか?