「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@771) [中] [未処理]
@771■ (#2423) マウスドラッグ命令でドラッグ位置がずれる - wt (2015-08-09 02:17) /中 未処理
【症状】
マウスドラッグ、マウス右ドラッグ命令でドラッグ位置がずれる。

【再現方法】
母艦のX = 0
母艦のY = 0
母艦のキー押した時は~
  もし、母艦の押された仮想キー == 13ならば
    100, 100から200, 200へマウスドラッグ
    「{机上マウスX}, {机上マウスY}」と言う
「Enter キーを押すとドラッグします」と表示

【要望】
指定した位置にドラッグできるように。

【バージョン】
1.551

【その他】
回避策として、なでしこで以下のように命令を定義しています。
参考まで。

# ここから -------------------

●マウスドラッグ(x1, y1からx2, y2へ|y2まで)
  mwとは実数 = 65535/(デスクトップW-1)
  mhとは実数 = 65535/(デスクトップH-1)
  x1 = ROUND(x1*mw)
  y1 = ROUND(y1*mh)
  x2 = ROUND(x2*mw)
  y2 = ROUND(y2*mh)
  mouse_event(OR(MOUSEEVENTF_ABSOLUTE, MOUSEEVENTF_MOVE), x1, y1, 0, 0)
  0.01秒待つ
  mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
  0.01秒待つ
  mouse_event(OR(MOUSEEVENTF_ABSOLUTE, MOUSEEVENTF_MOVE), x2, y2, 0, 0)
  0.01秒待つ
  mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

!MOUSEEVENTF_ABSOLUTE = $8000
!MOUSEEVENTF_MOVE     = $0001
!MOUSEEVENTF_LEFTDOWN = $0002
!MOUSEEVENTF_LEFTUP   = $0004

●mouse_event(dwFlags, dx, dy, dwData, dwExtraInfo) = DLL("user32.dll",
"VOID mouse_event(
  DWORD dwFlags,         // 移動とクリックのオプション
  DWORD dx,              // 水平位置または移動量
  DWORD dy,              // 垂直位置または移動量
  DWORD dwData,          // ホイールの移動
  ULONG_PTR dwExtraInfo  // アプリケーション定義の情報
);")

# ここまで -------------------

(#2423)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能