Форум: "Основная";
Текущий архив: 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.039 c