喫茶XRAYトップページ

[スレッド全体
]

[6337] Re:火猿ミニテスト 2返信 削除
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)

[6338] Re2:火猿ミニテスト 2返信 削除
2012/9/9 (日) 23:09:17 Mr.XRAY
> procedure TForm1.FormCreate(Sender: TObject);
> begin
>   Selection2Resize(nil);
> end;


ん?
これは,どちらかと言えば,Selection2 を Image2 に合わすべき,か?
動作がわかれば,どっちでもいいか?
実際には,TSelection は,必要な時に生成でしょうから.

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82