16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"複数Labelを1つのLabelのように見せる"
この発言に対し以下のコメントが寄せられています
#00096 Fermion さん RE:複数Labelを1つのLabelのように見せる
■説明
ひとつの Label 中で、フォントの種類や色を変えたくなったことは
ありませんか?以下は複数 Label の位置(Top, Left)を調整してあた
かも1つの Label のように見せるサンプルコードです。((^^;;
Form1 に Label1 〜 Label4, Button1 を適当に配置し、各 Label の
フォントの種類・色・大きさは適当に設定して下さい。
ボタンを押すと、発生した乱数に基づく(Form1上の)位置に、
Label1.Top: 128 / Label1.Left: 50
のように表示されます。
■サンプルコード
//=====================================================================
procedure TForm1.Button1Click(Sender: TObject);
var
rTop, rLeft, Right, vCenter, Delta : Integer;
begin
Delta := 2; //Label 間隔の調整用
Randomize; //乱数生成関数を初期化
rTop := Trunc( Random( Height - 100 ) ) + 50; //Label1.Top
rLeft := Trunc( Random( Width div 2 ) ); //Label1.Left
{100, 50 等の位置調整用数値はお好みに応じて適当に...}
with Label1 do
begin
Caption := 'Label1.Top: ';
Top := rTop;
vCenter := Top + Height div 2; //各Label垂直方向位置合わせを中央に
Left := rLeft; //設定するため( vCenter )
Right := Left + Width + Delta;
end;
with Label2 do
begin
Caption := IntToStr( rTop );
Top := vCenter - Height div 2;
Left := Right;
Right := Right + Width + Delta;
end;
with Label3 do
begin
Caption := ' / Label1.Left: ';
Top := vCenter - Height div 2;
Left := Right;
Right := Right + Width + Delta;
end;
with Label4 do
begin
Caption := IntToStr( rLeft );
Top := vCenter - Height div 2;
Left := Right;
end;
end;
//=====================================================================
97/10/24(Fri) 21:21 Fermion [KHF03264]
Original document by Fermion 氏 ID:(KHF03264)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|