15.03.2006, 18:32 | #1 |
Участник
|
задизаблить контролы
Есть форма. На ней помимо прочих контролов есть ButtonGroup(название у нее тоже ButtonGroup). В них содержатся Button-ы и MenuButton-ы. Нужно задизаблить в группе все эти Button-ы и MenuButton-ы. Делаю так:
PHP код:
вот такое : element.control(control::ButtonGroup).enabled(false); помогает, но кнопки хоть и дизаблятся, но визуально выглядят почему-то как незадизабленые. . Что делаю не таак? Быть может проблема в неправильном использовании FormControl и FormBuildControl-ов? |
|
16.03.2006, 10:20 | #2 |
MCTS
|
Сразу одним махом всю группу не задизаблишь
Точнее они будут задизаблены, но визуально отображаться будут как доступные. Прийдётся поэлементно возиться с каждым контролом. По крайней мере, у меня не получалось малой кровью порешить эту проблему. да и вообще, метод enabled() как-то кривовасто написан именно в плане визуализации элементов. У меня бока были, например, с радиокнопкой, когда я её пытался задизаблить в момент создания формы. Почему-то не дизаблилась Если элемент с выпадающим списком и он был задизаблен в момент создания формы и если его отдизабливаешь то прорисовывается он коряво. Почему-то Arrow не прорисовывается Короче решил я для себя, что или глюкоделы описывали enabled() метод, либо, какой-то глубочайший смысл заложен в нём, мне, увы, неподвластный
__________________
В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
16.03.2006, 10:48 | #3 |
Участник
|
Спасибо большое Russland за ответ !!
|
|
16.03.2006, 12:00 | #4 |
SAP
|
Вот решение вашей проблемы
Код: void disableButtons() { FormControl buttonGroup; Object currentContainer; Object cont; Object ctrl; int numc; FormControl currentButton; int ret = 0; int f; buttonGroup = element.control(control::ButtonGroup); currentContainer = form.design().control(buttonGroup.id()); numc = currentContainer.controlCount(); for (f = 1; f <= numc; f++) { ctrl = currentContainer.controlNum(f); element.control(ctrl.id()).enabled(false); } } |
|