Главная страница
    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.46 MB
Время: 0.03 c
4-1087307435
FlyDragon
2004-06-15 17:50
2004.07.25
Размер рисунка


1-1089803500
TransparentGhost
2004-07-14 15:11
2004.07.25
Как определить Font выпадающего списка ComboBoxa?


8-1083651619
Vmaster
2004-05-04 10:20
2004.07.25
программный доступ к TV out


14-1088952154
SPeller
2004-07-04 18:42
2004.07.25
Глупость?


1-1089638173
Alkmas
2004-07-12 17:16
2004.07.25
Как узнать о состоянии процесса ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский