|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"Imageの配置"
{ScrollBoxに大きさの異なるTImageを重ならないように配置する
TImageはmyImageListによって管理されている}
procedure TForm1.reArrange;
var
i,CurrTop,Leftmargin,topmargin,
rightMargin,gap,rightend,bottom:integer;
begin
if MyImageList=nil then Exit;
ScrollBox1.autoscroll:=false;
ScrollBox1.align:=AlClient;
//scrollBox内縁とImage間余白
Leftmargin:=10;
Topmargin:=10;
rightMargin:=10;
gap:=10;//image間の最小隙間
//初期化
rightEnd:=Leftmargin;bottom:=topmargin;currTop:=topmargin;
//配置開始
for i:=0 to MyImageList.ListOfImage.count-1 do
begin
if TImage(MyImageList.ListOfImage.items[i])<>nil then
begin
with TImage(MyImageList.ListOfImage.items[i]) do
begin
top:=currTop;
left:=RightEnd;
RightEnd:=Left+Width+gap;
If RightEnd>ScrollBox1.Width-rightMargin then
begin //次の段へ
currTop:=bottom+gap;
Left:=LeftMargin;
RightEnd:=Left+Width+gap;
Top:=currTop;
end;
if bottom< top+height then bottom:=top+height;
visible:=True;
end;
end;
end;
ScrollBox1.autoscroll:=True;
ScrollBox1.align:=AlClient;
end;
97/10/18(土) 08:59 凛(MXB01744)
Original document by 凛 氏 ID:(MXB01744)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|