記事カテゴリ

ユーザー機能


 2024年2月28日(水) 07:30 JST

[Delphi] ボタンのキャプションを2行にする

  • 投稿者:
  • 表示回数
    10,715

ボタンのキャプションを2行表示したいと思ったことはありませんか?
実はボタンのキャプションを2行にするのはすごく簡単です。しかし、コンポーネントにしないで実現することは難しいのでコンポーネントを作成してみます。
作り方は、TButtonを継承したボタンを作成します。このボタンのCreateParamをオーバーライドします。
ここでウィンドウ作成パラメータ(Style)にBS_MULTILINEという値を付けl加えることで、2行表示ができるようになります。

注 コンポーネントの作成は[コンポーネント]メニューの新規作成から行えます。

TMultiLineCaptionButton = class(TButton)
  private
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  public
  published
    (省略...)
end;

   (省略...)

procedure TMultiLineCaptionButton.CreateParams(var Params: TCreateParams); 
begin
  inherited;
  Style := Style or BS_MULTILINE;
end;
ボタンを作成できたら、キャプションに改行コードつきの文字列を渡します。改行コードは#13#10です。(例 '1行目' + #13#10 + '2行目')
procedure TForm1.Create(Sender: TObject);
begin
  Caption := '1行目' + #13#10 + '2行目';
end;

トラックバック

このエントリのトラックバックURL:
https://www.blackcat.xyz/trackback.php/ProgramingFAQ_del0004

以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。