|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.07.2011, 17:26 | #1 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
RadioButton простые вопросы
Здравствуйте!
Пара вопросов по RadioButton. 1. Есть ли автосвязанные батоны, когда добавив хоть 100 штук на форму - автоматически контролируется, что выбранным может быть только один батон? 2. Если нужно не только выбрать лишь один из вариантов, но и скрыть все неактуальные для данного варианта поля ввода - есть ли что-то более автоматизированное, чем радио батоны? (типа вкладок с ограничением выбора одной вкладки, или тп) 3. Как наиболее кратко написать аналогичное действие на радио батон для скрытия полей? Я пишу так, но утомляет кол-вом строк EditField1.Enabled := rb1.Checked; EditField2.Enabled := rb1.Checked; EditField3.Enabled := rb1.Checked; Можно ли это как-то в одну строку? типа [EditField1,EditField2,EditField3].Enabled := rb1.Checked; ? 4. Также что-то не могу понять как написать обращение boolean переменной? То есть если "a :=true", как "b" присвоить значение обратное "a", то есть false в одну строку? Последний раз редактировалось delphicoding; 21.07.2011 в 17:46. |
21.07.2011, 19:18 | #2 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
1) Используй TRadioGroup
2) Так понимаю нужен TPageControl 3) Создай функцию наподобие SetState(const Value: Boolean); в ней перечисли нужные тебе контролы и присвой каждому состояние EditField1.Enabled := Value; и т.д., а затем вызывай функцию SetState(rb1.Checked); ... как-то так, если правильно понял что нужно.... 4) Код:
Будь проще и люди к тебе потянутся
|
21.07.2011, 20:30 | #3 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
2 - разве соотносится с 1 ? То есть можно разве как-то сделать, чтобы при выборе радио батона 1 или 2 блокировался другой Page2 или Page1 ??
3 - вряд-ли, да и разницы с массивом нет 4 - круто! спасибо! |
21.07.2011, 20:53 | #4 | ||
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цитата:
Цитата:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
||
21.07.2011, 21:07 | #5 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Просто как вариант, чтобы не перечислять все поля ввода в коде и не обрабатывать их все, чтобы при выборе радио батона вся вкладка блокировалась вместе со всем содержимым.
Кстати, подскажите, пожалуйста, для ряда объектов, например TDBEdit, TJvDBSpinEdit, TJvDBComboBox, идр, не подходит строка вида: TDBEdit1.Value=null; Как правильно очищать такие объекты от значений? |
22.07.2011, 11:52 | #6 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Как правильно и желательно универсально очищать объекты текстового ввода и выпадающие списки от вписанных или выбранных значений?
За пост, подобный тому, что был ниже в следующий раз влеплю горчичник. Модератор. Последний раз редактировалось Баламут; 22.07.2011 в 13:15. |
22.07.2011, 13:29 | #7 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Массив тоже не прокатил, тк у некоторых полей очищение = Clear, а у других очищение = ClearValue. Идиоты, не могут стандарт сделать.
Нашёл вариант намного проще. Нужно просто группировать поля на одну Tpanel - которую можно сделать недоступной или вообще скрыть. Всё действие в одну строку - Tpanel.Visible := False. Но это только блокирует (Enable) или скрывает (Visible), но не очищает поля... Может есть функция "очистить все поля на панели Tpanel" ? Или типа того? Последний раз редактировалось delphicoding; 22.07.2011 в 13:36. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
RadioButton | 29_kapaT | Компоненты Delphi | 1 | 10.05.2010 03:30 |
radiobutton | xxxn00bxxx | Общие вопросы C/C++ | 8 | 25.02.2010 08:06 |
radiobutton | Bon'ka | Компоненты Delphi | 4 | 16.05.2009 21:56 |
RadioButton | Pavelok | Общие вопросы Delphi | 3 | 14.05.2009 14:05 |
Простые вопросы по C++ | ERASERROR | Помощь студентам | 3 | 24.03.2008 16:58 |