Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2005年10月09日] [更新 2012年10月18日] コントロール移動リサイズコンポーネント
   
コントロール移動リサイズコンポーネント
プロパティ
動作確認等 図は Windows 7 U64(SP1) + Delphi 2007-R2 Pro で作成





凡例  published
 public
 ReadOnly



オブジェクト・インスペクタ


以下が published なプロパティです.この図の値がデフォルト値です.


図1





プロパティ一般


この他に TCompnent の持つプロパティがあります.
[Shift] キーを押したまま移動する場合,縦または横方向のみの移動が可能です.また,[Shift] キーを押したままリサイズすると,縦横の比率をた持ったままリサイズすることができます.

このコンポーネント開発当時は (公開以前),Windows 98 の時代でした.グラブハンドルを表示したまま移動リサイズすると,動作が重かったので,グラブハンドルを非表示をデフォルトとしていましたが,最近の Windows ではあまり気になりません.そこで,デフォルトでは,移動リサイズの際にグラブハンドルを表示するように変更しました.

 Target TGraphicControl TGraphicControl の派生コントロールを指定する
有効なオブジェクトを代入すると選択状態になる
nil を代入すると選択を解除する
 DragState TplDragStat dsNone  マウス左ボタンは押されていない.
dsDrag  ドラッグ中
dsResize リサイズ中
 Mousethrough Boolean True にするとドラッグのマウスイベントは発生せず移動動作は不可となる
代わりに対象コントロールのマウスイベントが発生する
リサイズのイベントは発生する
デフォルトは False
 Left Integer ラバーバンドの左端値
 Top Integer ラバーバンドの上端値
 Width Integer ラバーバンドの幅
 Height Integer ラバーバンドの高さ
 DragCursor TCursor ドラッグ中のカーソル
 DragTarget Boolean この値が False の場合は,移動リサイズ後に対象コントロールを移動先に表示する
デフォルトは True
False の方が動作は少し軽くなる
 Visible Boolean ラバーバンドとグラブハンドルの表示・非表示
この値を False にしても,Target は nil にならない
 ResizeRect TRect 対象コントロールの 描画領域の TRect レコード型の値




グラブハンドルの表示プロパティ


グラブハンドルの表示設定のプロパティには以下のものがあります.
EnableSize を False にすると,全てのグラブハンドルを表示しません.対象のコントロールをリサイズしないで移動だけする場合に使用します.
最優先のプロパティは,EnableLeftTopTo プロパティです.このプロパティが True だと,他のプロパティの設定は全て無効となります.次に EnableRightTopTo,EnableCornerOnly の順となっています.

 EnableSize Boolean False にすると全てのグラブハンドルが非表示となる
 EnableHorz Boolean 左中央と右中央のグラブハンドルの表示
 EnableVert Boolean 上中央と下中央のグラブハンドルの表示
 EnbaleCornerOnly Boolean 四隅のグラブハンドルだけを表示するかのフラグ
 EnableLeftTopTo Boolean 初期状態で,左上と右下のグラブハンドルだけを表示
 EnableRightTopTo Boolean 初期状態で,右上と左下のグラブハンドルだけを表示




ラバーバンドのプロパティ


線の太さと色,描画モードが変更できます.


図2



 Color TColor 線の色
 Style TPenStyle 線のスタイル
LineWidth > 1 の時は無効で,常に実線
 LineWidth Integer 線の太さ
 Mode TPenMode 色の描画モード




グラブハンドル ( ハンドルボックス ) のプロパティ


塗潰しの色と大きさは変更できますが,枠線は太さ1ドットで黒の固定となっています.


図3



 Color TColor 塗潰しの色
 Size Integer 1辺の大きさ
 Mode TPenMode 色の描画モード