Идёт загрузка страницы...

htp://aptem.net.ru





Delphi 1

Кнопка с несколькими строчками текста I

Приведу способ, как сделать кнопку с тремя (или более) строчками текста. Разместите на форме компонент TBitBtn и задайте ему достаточно длинный заголовок. Не волнуйтесь о том, что такой длинный заголовок "раздувает" кнопку налево и направо. Создайте обработчик формы OnCreate как показано ниже:


   
VAR
R : TRect;
N : Integer;
Buff : ARRAY[0..255] OF Char;
...    WITH BitBtn1 DO
BEGIN
Glyph.Canvas.Font := Self.Font;
Glyph.Width  := Width-6;
Glyph.Height := Height-6;
R := Bounds(0,0,Glyph.Width,0);
StrPCopy(Buff, Caption);
Caption := '';
DrawText(Glyph.Canvas.Handle, Buff, StrLen(Buff), R,
DT_CENTER OR DT_WORDBREAK OR DT_CALCRECT);
OffsetRect(R, (Glyph.Width-R.Right) DIV 2,
(Glyph.Height - R.Bottom) DIV 2);
DrawText(Glyph.Canvas.Handle, Buff, StrLen(Buff), R,
DT_CENTER OR DT_WORDBREAK);
END;

Теперь у вас есть замечательная кнопка, которая научилась переносить текст!

- Neil [000636]