2012/9/9 (日) 15:01:02 Mr.XRAY |
最近 UP した画像,図形の移動リサイズも簡単にできます.
下の図では,TImage とTSelection を使用しています.
左は,TSelection に TImage を子コントロールにしたものです.
このままだとラバーバンドが見えなくなってしまうので,
右では,親子関係にはしないで,実行時に移動リサイズしたものです.
したがって,こちらは少しコーディングが必要ですが,簡単なコードで
済みます.
参考のため,EXEファイルだけUPしておきます.
http://mrxray.on.coocan.jp/Delphi/zipothers/FireMonkeyTest.zip
//==================================================================
// ラバーバンドとグラブハンドルをTImageの上に表示するために親子関係
// にはしていない
// そこで,実行時に位置とサイズを合わせる
//==================================================================
procedure TForm1.FormCreate(Sender: TObject);
begin
Selection2Resize(nil);
end;
//==================================================================
// 移動時には,位置たけ合わせる
//==================================================================
procedure TForm1.Selection2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Single);
begin
Image2.Position.X := Selection2.Position.X;
Image2.Position.Y := Selection2.Position.Y;
end;
//==================================================================
// リサイズ時には,サイズを合わせる
//==================================================================
procedure TForm1.Selection2Resize(Sender: TObject);
begin
Image2.SetBounds(Selection2.Position.X,
Selection2.Position.Y,
Selection2.Width,
Selection2.Height);
end;
参考
Creating a FireMonkey Primitive Control
http://docwiki.embarcadero.com/RADStudio/en/Creating_a_FireMonkey_Primitive_Control
EXEの作成は,Windows 7 U64(SP1) + Delphi XE2(UP4)
|
|