Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

Как написать у 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
1-1088933813
Sairex
2004-07-04 13:36
2004.07.25
RxRichEdit и цветной текст


1-1089290665
Oleg_
2004-07-08 16:44
2004.07.25
Как узнать версию IE


8-1083819071
Kerget Ruslan
2004-05-06 08:51
2004.07.25
Проблемы при работе с TShockwaveFlash


1-1089753501
RedLord
2004-07-14 01:18
2004.07.25
сохранение объекта в файле


3-1088743612
Artem
2004-07-02 08:46
2004.07.25
Вопрос по Update данных в DBGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский