掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Editをドラッグするには? (ID:31304)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
DragDropイベントを使うのであれば以下のコードでも可能です。 他の方のレスの内容も考慮する必要があると思います。 また、以下のようなのもあります。参考まで http://delphiholic.hopeseeds.com/?eid=264414 フォームにTEditとTButtonを配置して、以下のイベントを割り当てます。 そしてグローバル変数 Xp と Yp を定義します。 //ドラッグ開始位置のマウス座標 Xp : Integer; Yp : Integer; //==================================== // マウスをDownしたらドラッグ開始 //==================================== procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Xp := X; Yp := Y; TControl(Sender).BeginDrag(True); end; //==================================== // ドラッグ中の処理 //==================================== procedure TForm1.Edit1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := (Sender = Source); if Accept then begin with Sender as TControl do begin Left := Left+X-Xp; Top := Top+Y-Yp; end; end; end; //==================================== // ドラッグ終了 //==================================== procedure TForm1.Edit1DragDrop(Sender, Source: TObject; X, Y: Integer); begin if (Sender = Source) then begin with Source as TControl do begin Left := Left+X-Xp; Top := Top+Y-Yp; EndDrag(true); end; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.