Migaro. 技術Tips

                       

ミガロ. 製品の技術情報
IBMiの活用に役立つ情報を掲載!


【Delphi】ButtonのCaptionを複数行にする

ButtonコンポーネントでCaptionプロパティは1行しか指定できないため、
文字数が多い場合には横に長くなってしまいます。

Captionで複数行設定できるようにするには、
Windows APIのGetWindowLongを使いウィンドウスタイルを取得し、
SetWindowLongを使ってウィンドウの属性を変更します。

var
  i:Integer;
begin
  i := GetWindowLong(Button1.Handle,GWL_STYLE);
  SetWindowLong(Button1.Handle,GWL_STYLE,i or BS_MULTILINE);
  Button1.Caption :='Line1' + #13#10 + 'Line2' + #13#10 + 'Line3';
end;

 

以下はButton1(中央)のOnClick処理で上記のロジックを実行して
同じCaptionが改行されるようになる図となります。

改行コード「#13#10」をCaptionで使用することにより、複数行の設定ができます。

また、TBitBtnでも同じ方法で複数行の設定が可能ですが、
近年の新しいバージョンではこの設定を行わなくても複数行にできるようです。
(※10.2 Tokyoにおいても、TButtonではこの設定が必要)

 

 

(ミガロ.情報マガジン「MIGARO News!!」Vol.072 2007年1月号より)