Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
inkpictureでdeleteすると、他のstrokeのインデックスなどが配列から無くなります
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30593#CommentId84413
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
snowmansnow
 (社会人)
投稿日時
2021/2/23 22:50:28
こんばんは、
2回目のエラーが頻発し、頭がこんがらがってましたが、
idが変わっても、カウントは変わらなかったので、頭を切り替えて、下記に変更してみたら動きました。
今回は、同じstroke群の中で色で、文字とグラフィックを区別してるのですが、
何か、MSINKAUTLib.inkrendererの中のdrawstrokeとかが、グラフィックなのかなぁ?と思ってます。
(cifies the strokes to draw using the given Graphics object or device context.)と書いていて、
デバイスコンテキスト?Graphic g とかの事かな?とか思ってまして、
簡単なヒントというかアドバイス(違うよとか、それだよとか)頂けたら、また頑張れる気がします。
よろしくお願いします。
再修正版
Private Sub CommandButton37_Click()
For ind = InkPicture2.ink.strokes.Count - 1 To 0 Step -1
If InkPicture2.ink.strokes.Item(ind).Deleted = False Then
' MsgBox "id-" & ind & "-" & InkPicture2.ink.strokes.Item(ind).DrawingAttributes.Color
If InkPicture2.ink.strokes.Item(ind).DrawingAttributes.Color <> 0 Then
InkPicture2.ink.DeleteStroke InkPicture2.ink.strokes.Item(ind)
Else
End If
Else
End If
Next
InkPicture2.AutoRedraw = True
'インクを足す事はできる・・・
'Dim strokes As MSINKAUTLib.InkStrokes
'Set combinedInk = InkPicture2.ink
'Set strokes = InkPicture3.ink.strokes
'iret = combinedInk.AddStrokesAtRectangle(strokes, strokes.GetBoundingBox())
'Set strokes = InkPicture4.ink.strokes
'iret = combinedInk.AddStrokesAtRectangle(strokes, strokes.GetBoundingBox())
'https://microsoft.public.windows.tabletpc.developer.narkive.com/xeodljDK/rendering-ink-from-multiple-inkpictures-in-the-same-form
End Sub