Перейти к содержимому

Фотография

Как в testcomplete сделать, чтобы при блокировке гроупбокса, компонент


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 Akmas

Akmas

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 27 января 2012 - 11:34

Если компоненту cxgroupbox свойство enabled поставить в false, то доступ к компонентам, размещённым на нём, заблокирован, однако, они выглядят так же как не заблокированные. Как сделать, чтобы они также имели вид заблокированных?
  • 0

#2 idunin

idunin

    Активный участник

  • Members
  • PipPip
  • 116 сообщений
  • ФИО:Илья Владимирович
  • Город:Москва


Отправлено 27 января 2012 - 11:41

Если компоненту cxgroupbox свойство enabled поставить в false, то доступ к компонентам, размещённым на нём, заблокирован, однако они выглядят также, как не заблокированные. Как сделать, чтобы они также имели вид заблокированных?


Ну эт вообще не относится к Testcomplete. У вас блокируется родительский элемент, но это свойство не наследуются child элементами. И TC тут не причем. :)

Вам просто надо взять ваш групбох и найти все его child TestObj.FindAllChildren и у них всех проставить свойство Enabled = false.
  • 0

#3 Akmas

Akmas

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 27 января 2012 - 13:03


Если компоненту cxgroupbox свойство enabled поставить в false, то доступ к компонентам, размещённым на нём, заблокирован, однако они выглядят также, как не заблокированные. Как сделать, чтобы они также имели вид заблокированных?


Ну эт вообще не относится к Testcomplete. У вас блокируется родительский элемент, но это свойство не наследуются child элементами. И TC тут не причем. :)

Вам просто надо взять ваш групбох и найти все его child TestObj.FindAllChildren и у них всех проставить свойство Enabled = false.


Да, вот это плохо, так как элементов у меня на гроупбоксе много.
  • 0

#4 XXX

XXX

    Опытный участник

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 27 января 2012 - 13:41

Да, вот это плохо, так как элементов у меня на гроупбоксе много.


А скрин бокса показать можешь7
  • 0

#5 XXX

XXX

    Опытный участник

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 27 января 2012 - 13:44

или что там за элементы хоть находятся?
можно же задавать значение для Enabled полей и в цикле..не прописывать для каждого в отдельности
  • 1

#6 idunin

idunin

    Активный участник

  • Members
  • PipPip
  • 116 сообщений
  • ФИО:Илья Владимирович
  • Город:Москва


Отправлено 29 января 2012 - 17:39

Да, вот это плохо, так как элементов у меня на гроупбоксе много.


А какая разница? Много или мало? Вы же их не ручками будете все отмечать. Получили массив всех чайлд-объектов и в цикле потом прошли выставили все enabled = false. Можно еще обработчик исключений, если вдруг у какого объекта это свойство не доступно по какой-либо причине.
  • 1

#7 Akmas

Akmas

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 30 января 2012 - 07:44

Ну да, тогда попрбую так сделать. Только вопрос а как организовать доступ к свойсву enabled дочерних компоентов?
Я пишу userforms.UserForm1.cxGroupBox1., а далее свойства, относящиеся к потомкам - ChildControl[], ChildControlByName[], ChildControlCount. И ни у одного из них дальше не всплывает свойство enabed. Ну ChildControlCount - вообще не подходит, это количество дочерних элементов. Тогда как получиь доступ к i-му дочернему элементу и его свойству enabled?
  • 0

#8 Akmas

Akmas

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 30 января 2012 - 09:33

А всё, понял как:
userforms.UserForm1.cxGroupBox1.ChildControl[i].enabled:=false;
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных