| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Можно ли поменять свойство |
| Автор: Dias2004 2.3.2006, 09:11 |
| Задача: на форме лежит GroupBox, в нем - несколько кнопок SpeedButton. В зависимости от ситуации нужно делать эту группу кнопок либо доступной, либо недоступной для пользователя. Например, для каждой кнопки назначить свойство либо SpeedButton1.Enable := true; либо SpeedButton1.Enable := false; Нельзя ли как-то воспользоваться тем, что кнопки объединены в группу, и менять свойство Enable одной строкой кода сразу для всей группы? Подскажите пожалуйста, если кто сталкивался с проблемой. |
| Автор: Yanis 2.3.2006, 09:21 | ||
Уже сто раз обсуждалось... Пользуйся поиском
|
| Автор: Snowy 2.3.2006, 10:00 | ||
|
| Автор: Dias2004 2.3.2006, 15:50 | ||
| Snowy, я обнаружил у GroupBox только свойство Enabled. И если задать
то у меня доступность дочерних контролов не меняется. А процедура Disable у GroupBox почему-то просто отсутствует... Добавлено @ 15:59 Yanis, спасибо, все работает. Извини, что еще не научился пользоваться поиском... И все же не до конца растаяло ощущение, что задачу все-таки можно решить в одну строку. Я пришел в Delphi после многих лет работы в IDE Clarion, и там действительно для группы интерфейсных элементов достаточно было сказать DISABLE(?GroupName) - как все ее дочерние контролы становились недоступными для пользователя. Они же дочерние, почему не наследуют поведение родителя? |
| Автор: Snowy 2.3.2006, 16:09 |
| Это я ошибся на скорую руку. Все правильно - нужно писать Enabled := false; Что касается, что не работает - работает. Просто внешний вид не меняет. |
| Автор: Poseidon 2.3.2006, 18:22 |
| Dias2004, а что тебе мешает написать код Яниса в одну строчку? |
| Автор: Yanis 4.3.2006, 10:17 |
| Поэтому я и привёл свой код. Ведь недоступные компоненты должны и выглядеть соответствующе. Т.е. у пользователя вызывает недоумение тот факт, что "галочки есть, а они не нажимаются". |