|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Расположение элементов в RadioGroup
Здравствуйте!
Есть RadioGroup, элементы в неё добавляются динамически. При добавлении элементы располагаются по середине РадиоГруппы. Каким образом сделать так, чтобы при добавлении элементы располагались вверху РадиоГруппы. Для наглядности цепляю картники, 1я - как есть, 2я - как хочется (отредактирована в пейнте). Как есть: Как хочется: |
#2
|
|||
|
|||
можно checklistbox сделать
|
#3
|
||||
|
||||
создавать нужное количество TRadioButton на TGroupBox вместо TRadioGroup.
Пишу программы за еду. __________________ |
#4
|
|||
|
|||
Цитата:
Или есть какие-то более простые методы? |
#5
|
||||
|
||||
ну если так хочется... а по умолчанию будет автоматом переключать.
Пишу программы за еду. __________________ |
#6
|
||||
|
||||
Радиогруппа (TRaduoGroup) по сути и есть Групбокс (TGroupBox). Можете даже исходник глянуть. Если не хочется сочинять решение с компонентами самому, то:
1. У Радиогруппы есть св-во Controls[Index:Integer] в котором хранятся все пункты (а-ля TRadioButton). 2. При добавлении новой - высота каждой РадиоКнопки равна (Высота клиентской области Радиогруппы)/(Количество радиокнопок) 3. С этими кнопками можно работать через Controls - выставить высоту компонента и указать TOP. Например (в радиогруппе 2 элемента): Код:
RadioGroup1.Controls[0].Height := Canvas.TextHeight('0'); RadioGroup1.Controls[1].Height := Canvas.TextHeight('0'); RadioGroup1.Controls[1].Top := RadioGroup1.Controls[0].Top + RadioGroup1.Controls[0].Height; Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#7
|
|||
|
|||
Цитата:
Спасибо большое, предложенное Вами решение - то, что мне было нужно! |