Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2005年10月09日] [更新 2012年10月18日] コントロール移動リサイズコンポーネント
   
コントロール移動リサイズコンポーネント
使用方法
動作確認等 -







使用方法


フォームまたは親コントロールとなる TPanel などに配置し,マウスの左ボタン押下などで,Target プロパティに操作対象となるコントロールを指定します.または,コード中で生成します.選択を解除するには,Target プロパティに nil を代入します.


リスト1
Target プロパティに対象コントロールを指定する
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   plDragResize1.Target:=Image1;
end;


リスト2
実行中に TplDragResize オブジェクトを生成する例
var
   AResize: TplDragResize;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   AResize := TplDragResize.Create(Self);
   AResize.Target:=Image1;
end;




動作は少し重たい


動作は少し重たい(遅い)です.これはコーディングによるものと思われますが,著者がこれを利用する業務アプリケーションの範囲内では十分と考えて使用しています.




Delphi 2007 よりも前での使用


Delphi 2007 よりも前のバージョンで利用して作成した EXE では,更に動作が緩慢になることがあります.特に,幅が狭く,高さが低くなると,もたつく感じになります.
Delphi 2007 以上での利用を強くお勧めします.




CAD のようなアプリやペイント系のアプリの開発


画像や文字の移動リサイズで思い浮かべるのは CAD やペイント系のアプリケーションです.このようなアプリケーションの開発に本コンポーネントを利用するには少し無理があります.
これらのアプリケーションの開発では,基本的な仕様を考える必要があります.直線,四角形等,基本的な描画に対するクラスを定義し,そこから生成したコントロールを操作する方法が考えられます.





サンプルプログラム集のコントロールの移動リサイズ関係の記事


当サイトの [サンプルプログラム集] にもコントロールの移動やリサイズ関係のサンプルプログラムや記事があります.