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 やペイント系のアプリケーションです。このようなアプリケーションの開発に本コンポーネントを利用するには少し無理があります。
これらのアプリケーションの開発では、基本的な仕様を考える必要があります。直線、四角形等、基本的な描画に対するクラスを定義し、そこから生成したコントロールを操作する方法が考えられます。





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


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