Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как написать у CheckBox текст в две строки?


Buster ©   (2004-07-06 19:16:00) 

Из-за нехватки места на форме необходимо написать текст в CheckBox.Caption в две строки. Использование #13#10 не помогает - на форме отображается просто две толстых палки. Хотя в свойстве Hint такой фокус проходит.
Как это можно сделать?

Спасибо.


OSokin   (2004-07-08 20:02:00) [1]

Сделай TMemo, но ограничь количество строк двумя (или одной)


TUser   (2004-07-07 18:15:00) [2]


> в 7 точно есть WordWrap

Выглядит там чекбокс просто ужасно. Если строчек 5 текста, например. Лучше Label кинуть.


clickmaker   (2004-07-07 17:48:00) [3]

type
 TMultiCheckBox = class(TCheckBox)
 private
   fMultiLine: Boolean;
   procedure SetMultiLine(Value: Boolean);
 protected
   procedure CreateParams(var Params: TCreateParams); override;
 public
   constructor Create(AOwner: TComponent); override;
 published
   property MultiLine: Boolean read fMultiLine write SetMultiLine default True;
 end;

constructor TMultiCheckBox.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 fMultiLine:=true;
end;

procedure TMultiCheckBox.SetMultiLine(Value: Boolean);
begin
 if fMultiLine<>Value then
 begin
   fMultiLine:=Value;
   RecreateWnd;
 end;
end;

procedure TMultiCheckBox.CreateParams(var Params: TCreateParams);
begin
    inherited CreateParams(Params);
    if MultiLine then Params.Style:=Params.Style or BS_MULTILINE or BS_TOP
                 else Params.Style:=Params.Style and not BS_MULTILINE and not BS_TOP;
end;


Buster   (2004-07-07 13:38:00) [4]

ясно, у меня 5-я версия пока.


ssk   (2004-07-07 11:47:00) [5]

для тех, кто сомневается. скриншот 240 килобайт

http://ucad.pisem.net/CheckBox_set_multi_line.bmp


wisekaa   (2004-07-07 11:43:00) [6]


> [4] Agent13 ©   (07.07.04 10:30)


Ты не указал версию Delphi в 7 точно есть WordWrap.


ssk   (2004-07-07 11:34:00) [7]

есть у чекбокса WordWrap, так же как и у радиокнопки, но начиная с версии 7


Agent13   (2004-07-07 10:30:00) [8]


> bulanov   (07.07.04 02:54) [3]

Во-первых, хамить не надо, а во-вторых, какой WordWrap у чекбокса?


bulanov   (2004-07-07 02:54:00) [9]

Удалено модератором
Примечание: Выбирайте выражения


GuAV   (2004-07-06 23:36:00) [10]

Как еще вариант - чекбокс без подписи и лабел рядом и DrawFocusRect по необходимости. Можно например сделать TFocusLabel...


GuAV   (2004-07-06 23:34:00) [11]

ИМХО, стандартных многострочных кнопок нет

так что юзай:
DrawFrameControl
DrawFocusRect
TextOut

А ваще забей, кинь под него лабел...


Наверх

Титульная страница Поиск, карта сайта Написать письмо