|
OptionGroup может при одном Button снимать выбор
|
|||
---|---|---|---|
#18+
Привет! Сделал класс на основе OptionGroup и у меня такая проблема, что при единственном пункте если сначала его выбрать - выберется, но повторный клик по нему убирает точку, т.е. снимает "выбранность опции". Получается эффект чекбокса и это мешает! В чем м.б. дело? Как устранить сей эффект? в классе ничего нет - просто создал класс на основе OptionGroup и все, впрочем стандарный OptionGroup с одной кнопкой ведет себя точно так же. В свойствах ничего такого не нашел и в хелпах тоже - я понимаю что опг создан для выбора когда он есть, но иногда бывает что его нет - дизаблить его тогда, чтоли... вфп90 спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2009, 18:19 |
|
OptionGroup может при одном Button снимать выбор
|
|||
---|---|---|---|
#18+
А какой смысл щелкать по элементу, если он не должен ничего выполнять? Естесственно, его надо дизейблить. Причем, дизейблить не одиночный переключатель, а всю группу. Тогда одиночный переключатель будет выглядеть как активный Ну, можно еще в OptionGroup.InteractiveChange() тупо прописать Код: plaintext
Значение изменится, но в InteractiveChange() изменится снова на 1. Наконец, еще один вариант - это добавить второй элемент, но сделать его невидимым и не активным. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2009, 19:27 |
|
OptionGroup может при одном Button снимать выбор
|
|||
---|---|---|---|
#18+
спасибо за подсказки! Но теперь я вообще в полном недоумении... Итак, сделал следующее - если опция одна, все равно ставлю Value=0, но в InteractiveChange следующее: Код: plaintext 1. 2. 3. 4.
Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 00:42 |
|
OptionGroup может при одном Button снимать выбор
|
|||
---|---|---|---|
#18+
переделал все под идею со второй невидимой кнопкой - все нормально стало! Все таки получается что игра в OptionGroup.Enabled приводит к глюкам. Хочет OptionGroup минимум 2 опции и все тут :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 00:48 |
|
OptionGroup может при одном Button снимать выбор
|
|||
---|---|---|---|
#18+
Как мне кажется, Вы сами придумали себе дополнительные проблемы и теперь их героически преодолеваете. 1. Какой смысл выставлять Value = 0, если после первого же выбора вы запрещаете этот выбор менять? Т.е. поставить Value = 1 можно, а вернуть в Value = 0 - нельзя. Ну и смысл ставить Value = 0? 2. Какой смысл выполнять операцию "у OptionGroup есть метод enabled_assign, который выставляет всем опциям такой же Enabled как и у родителя", если блокировка контейнера и так блокирует все вложенные элементы? Если для того, чтобы потом прочитать значение, то надо делать не assign, а access, который как раз и предназначен для чтения значений. Там и анализировать Enabled-родителя. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 10:47 |
|
OptionGroup может при одном Button снимать выбор
|
|||
---|---|---|---|
#18+
1) смысл такой: - при выборе 1 из предлагаемых пунктов осуществляется автоматический переход на следующую страницу (организовано на PageFrame без заголовков). Если сделать автовыбор, то на ините, а тогда программа падает, т.к. переход происходит в инитеконтрола, т.е. когда форма еще не инициализировалась. Поэтому, даже если пункт всего 1 его надо явно выбрать вручную чтобы перейти на следующий шаг. Кроме того юзер дложен понимать что происходит, что выбрано и что соответственно от него требуется. По сути пункт бывает один только на ранней стадии, когда юзеры просто еще не повносили в соотв. таблицы разнообразия. 2) смысл в том чтобы юзер явно видел что контрол недоступен, т.к. при Enabled=.F. контрол выглядит доступным и в понимании юзера - глючит. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2009, 11:13 |
|
|
start [/forum/topic.php?fid=41&msg=36221998&tid=1586023]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 130ms |
0 / 0 |