|
|
#1 |
|
Участник
|
задизаблить контролы
Есть форма. На ней помимо прочих контролов есть ButtonGroup(название у нее тоже ButtonGroup). В них содержатся Button-ы и MenuButton-ы. Нужно задизаблить в группе все эти Button-ы и MenuButton-ы. Делаю так:
PHP код:
вот такое : element.control(control::ButtonGroup).enabled(false); помогает, но кнопки хоть и дизаблятся, но визуально выглядят почему-то как незадизабленые. . Что делаю не таак? Быть может проблема в неправильном использовании FormControl и FormBuildControl-ов?
|
|
|
|
|
#2 |
|
MCTS
|
Сразу одним махом всю группу не задизаблишь
Точнее они будут задизаблены, но визуально отображаться будут как доступные. Прийдётся поэлементно возиться с каждым контролом. По крайней мере, у меня не получалось малой кровью порешить эту проблему. да и вообще, метод enabled() как-то кривовасто написан именно в плане визуализации элементов. У меня бока были, например, с радиокнопкой, когда я её пытался задизаблить в момент создания формы. Почему-то не дизаблилась Если элемент с выпадающим списком и он был задизаблен в момент создания формы и если его отдизабливаешь то прорисовывается он коряво. Почему-то Arrow не прорисовывается Короче решил я для себя, что или глюкоделы описывали enabled() метод, либо, какой-то глубочайший смысл заложен в нём, мне, увы, неподвластный
__________________
![]() В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
|
|
|
#3 |
|
Участник
|
Спасибо большое Russland за ответ !!
|
|
|
|
|
#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);
}
} |
|
|