|
コントロール移動リサイズコンポーネント
プロパティ |
動作確認等 |
図は 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 |
色の描画モード |
|