掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
PaintBox内のマウス移動をPixelsの一定間隔で移動したい (ID:20226)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
青い稲妻です。 PaintBox内のマウス移動なんですが、PaintBox内のPixelsの一定間隔(X:10 Y:10)でマウス移動したいと思い、以下のソースを実行しましたが、一定間隔ではなく、通常のマウス移動になります。 どなたか、アドバイスをお願いします。 function MouseMsgHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; var pms: PMouseHookStruct; begin Result:=0; if nCode < 0 then begin Result := CallNextHookEx(MouseHook, nCode, wParam, lParam); exit; end else begin pms:=PMouseHookStruct(lParam); {nCodeがHC_ACTIONの時のみ操作可能} if nCode = HC_ACTION then begin if wParam=WM_MOUSEMOVE then begin SendNotifyMessage(OutputWnd, WM_MOUSEMOVE, wParam, MAKELONG(pms^.pt.x+100, pms^.pt.y+100)); end; end; end; CallNextHookEx( MouseHook, nCode, wParam, lParam); end; (************************************************* PaintBoxのPixelsを視覚的に表示するボタン *************************************************) procedure TForm1.Button1Click(Sender: TObject); var x,y: integer; begin x := 0; while(x < PaintBox1.Width) do begin y := 0; while(y < PaintBox1.Height) do begin PaintBox1.Canvas.Pixels[x, y] := clGreen; y := y + 10; end; x := x + 10; end; OutputWnd := PaintBox1.Parent.Handle; end; procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin // 確認用です。 Edit1.Text := Format('X=%d Y=%d', [X,Y]); end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.