Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

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

 
Buster ©   (2004-07-06 19:16) [0]

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

Спасибо.


 
GuAV ©   (2004-07-06 23:34) [1]

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

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

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


 
GuAV ©   (2004-07-06 23:36) [2]

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


 
bulanov   (2004-07-07 02:54) [3]

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


 
Agent13 ©   (2004-07-07 10:30) [4]


> bulanov   (07.07.04 02:54) [3]

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


 
ssk ©   (2004-07-07 11:34) [5]

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


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


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


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


 
ssk ©   (2004-07-07 11:47) [7]

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

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


 
Buster ©   (2004-07-07 13:38) [8]

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


 
clickmaker ©   (2004-07-07 17:48) [9]

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;


 
TUser ©   (2004-07-07 18:15) [10]


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
14-1088768204
clickmaker
2004-07-02 15:36
2004.07.25
Танцуя на острие бритвы


1-1089685882
Глеб
2004-07-13 06:31
2004.07.25
Алгоритм перевода чисел в римскую систему счисления


3-1088606707
@Lex
2004-06-30 18:45
2004.07.25
Запрос


1-1089454856
Tahion2
2004-07-10 14:20
2004.07.25
Помогите перевести код из Си в Делфи.


3-1088139310
nik7777
2004-06-25 08:55
2004.07.25
Репликация между серверами FireBird 1.0.2