• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マウスカーソル+軌跡を遅らせて表示)

マウスカーソル+軌跡を遅らせて表示

このQ&Aのポイント
  • VisualBasic(6.0)でマウスの軌跡を遅らせて表示させる方法
  • マウスの軌跡を実線で表示し、時間的に遅れて表示させるプログラムを作成する方法
  • マウスカーソルが既に描かれた軌跡の上を通過しても、軌跡が消えない方法

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

状況が変わらないかも知れませんが・・・ フォームに書いていることをピクチャボックスでやってみてはいかがでしょうか? イメージボックスをピクチャボックスの中に作成しておいて、、、 ピクチャボックスプロパティ AutoRedraw=True Appearance=0(フラット) BorderStyle=0(なし) Enabled = False フォームロード時に Picture1.Left = 0 Picture1.Top = 0 Picture1.Width = Me.ScaleWidth Picture1.Height = Me.ScaleHeight Picture1.BackColor = Me.BackColor 描画部分を Form1.Line → Picture1.Line としても多少は改善されませんでしょうか?

silverjet
質問者

お礼

お返事ありがとうございます. 試してみましたがやはりちらつきが多いので,カーソルの表示はあきらめて,軌跡のみの表示にしました. WindowsAPIなどで簡単に実装できる方法があればあればよかったのですが,,お騒がせいたしましたm()m

その他の回答 (1)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

コードを公開できませんか?

silverjet
質問者

補足

ご返事ありがとうございます. 必要な部分のみコードを貼り付けさせていただきます. 宜しくお願いします. '================================================= 'フォームのロード Private Sub Form_Load() Call Init End Sub '初期設定 Private Sub Init() '実際のマウスカーソルを隠す. Call HidePointer 'タイマー Me.MMTimer1.Interval = 10 Me.MMTimer1.Enabled = True intDelay = 5 Step = 0 End Sub 'マウスカーソルのロード Private Sub LoadCursor() 'カーソルイメージ Image1.Picture = LoadPicture("arrow_m.cur") Image1.Visible = True End Sub 'タイマーイベント Private Sub MMTimer1_Timer() '軌跡の記録 X_(Step) = CntX Y_(Step) = CntY If Step > intDelay Then 'カーソルアイコン位置をセット Call SetCursor(X_(Step - intDelay), Y_(Step - intDelay)) 'カーソル軌跡の描画 Form1.Line (X_(Step - intDelay - 1), Y_(Step - intDelay - 1))-(X_(Step - intDelay), Y_(Step - intDelay)) End If Step = Step + 1 End Sub 'カーソルアイコン位置をセット Private Sub SetCursor(x As Integer, y As Integer) Call Image1.Move(x, y) End Sub '現在のカーソル位置を,CntX,CntYにセット. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) CntX = CInt(x) CntY = CInt(y) End Sub

関連するQ&A