掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
コンポーネントの移動 (ID:3619)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
1. MouseDownでSetCaptureします。SetCaptureすると、そのウィンドウハンドルの領域外でも、マウスイベント(移動など)を取得できます。 MouseUpで、ReleaseCaptureすることを忘れずに。 これで、マウスの開始と終了がとれますよね。 選択の枠は、キャプチャ中にデスクトップに対して描画します。 xorで、前の枠を元に戻し、新しい枠を同じくxorで書くだけです。 2. 1つであれば、FindVCLWindowなどの関数で取得できます。 複数の場合は、ChildComponentを調べていった方が簡単だと思います。 選択領域[x1, y1]-[x2, y2]であり、全コンポーネント数がnのとき、(abs((x2-x1)*(y2-y1)) < n)であれば、選択範囲を探した方が早いかもしれません。 # あまりないですよね。 3. そういうことです。 コンポーネントの位置を保存せずに、前回のマウス位置と現在のマウス位置との差を足せば、ほぼ同じことができます。 ただし、移動のキャンセルができませんよ。 # 最初の位置を保存していないため
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.