Советы по Delphi

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


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

VARR : TRect;N : Integer;Buff : ARRAY[0..255] OF Char;... WITH BitBtn1 DOBEGINGlyph.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]



Содержание раздела