скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Кнопка с многострочным заголовком 2



Приведу способ, как сделать кнопку с тремя (или более) строчками текста. Разместите на форме компонент 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;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook