Страница: 1 |
Страница: 1 |
Вопрос: как сделать "недоступными" контролы прил
Добавлено: 19.11.09 13:05
Автор вопроса: msd
Есть форма с множеством контролов, необходимо на форме поместить чекбокс, чтобы он работал так, чтобы нажав на него сделать все контролы формы недоступными, а "расчекав" - вернуть их в нормальное рабочее состояние, типа заморозить/разморозить приложение для управления пользователем.
Есть ли способы, кроме как вручную по всем кодам делать вставки для проверки состояния этого чекбокса? Эффект должен быть примерно таким, как если бы появлялся модальный диалог над приложением.
Способ с установкой для всех контролов свойства Enabled = false не годится, в этом случае изменится внешний вид контролов. Надо чтобы приложение вело себя так, как в случае когда появляются песочные часы, и приложение ни на что не реагирует, а его внешний вид не меняется.
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
msd
Вопросов: 4
Ответов: 8
Профиль | | #1
Добавлено: 19.11.09 13:06
Да, забыл сказать, что это все для VB6
Номер ответа: 2
Автор ответа:
maza_____
ICQ: 9968842
Вопросов: 40
Ответов: 337
Web-сайт:
Профиль | | #2
Добавлено: 19.11.09 15:59
Sleep
Номер ответа: 3
Автор ответа:
msd
Вопросов: 4
Ответов: 8
Профиль | | #3
Добавлено: 19.11.09 16:09
не понял, что это значит?
Номер ответа: 4
Автор ответа:
maza_____
ICQ: 9968842
Вопросов: 40
Ответов: 337
Web-сайт:
Профиль | | #4
Добавлено: 19.11.09 16:37
API:
Номер ответа: 5
Автор ответа:
maza_____
ICQ: 9968842
Вопросов: 40
Ответов: 337
Web-сайт:
Профиль | | #5
Добавлено: 19.11.09 16:40
Если API обьявляешь не в модуле, то не Public, а Private.
Номер ответа: 6
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #6
Добавлено: 19.11.09 19:57
Элементарно: помещаешь все контролы в элемент Frame (borderstyle=0, enabled=false)
Номер ответа: 7
Автор ответа:
msd
Вопросов: 4
Ответов: 8
Профиль | | #7
Добавлено: 19.11.09 20:44
да спасибо
Номер ответа: 8
Автор ответа:
Millenium
ICQ: 629966
Вопросов: 118
Ответов: 903
Web-сайт:
Профиль | | #8
Добавлено: 20.11.09 09:23
Зачем ты не сделаешь
а потом обратно
Номер ответа: 9
Автор ответа:
msd
Вопросов: 4
Ответов: 8
Профиль | | #9
Добавлено: 20.11.09 12:28
правильное решение было с панелькой, а если дезактивировать всю форму, то не будет возможности вернуть ее обратно в нормальное состояние, ведь контрол который это делает (чек бокс например) находится на этой же форме и он будет недоступен.
Номер ответа: 10
Автор ответа:
Millenium
ICQ: 629966
Вопросов: 118
Ответов: 903
Web-сайт:
Профиль | | #10
Добавлено: 20.11.09 13:34
Тогда тебе нужно перебрать все контроли кроме чекс-бокса.
Используй For Each
Номер ответа: 11
Автор ответа:
Millenium
ICQ: 629966
Вопросов: 118
Ответов: 903
Web-сайт:
Профиль | | #11
Добавлено: 20.11.09 13:43
Номер ответа: 12
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #12
Добавлено: 20.11.09 22:45
Оба варианта хороши каждый для своего случая.
Если нужно выключить контролы и чтоб это было очевидно, то лучше их перебрать и выключить.
А чтоб контролы заблочились, но выглядели как включенные нужно использовать трюк с фрэймом, тоже перебрать контролы и выставить контейнером выключенный и растянутый на всю форму фрэйм.