Страница 1 из 1

Как сделать не выбираемое поле

Добавлено: 04 авг 2011, 15:27
niteo
Добрый день уважаемые. Прошу прощение за нубский вопрос, как программно сделать поле недоступным/не выбираемым. А так же как скрыть или отобразить поле на форме. Для кнопок есть процедура ShowButton , для полей не нашел. Пробовал ковыряться с ClusterDisabledField, но что то у меня не получается...

Re: Как сделать не выбираемое поле

Добавлено: 04 авг 2011, 15:33
Serges
ClearFieldOption(#имя,ofSelectable);
SetFieldOption(#имя,ofSelectable);

Re: Как сделать не выбираемое поле

Добавлено: 05 авг 2011, 09:39
Semi-bit
А для видимости:

Код: Выделить всё

ClearFieldState(#имя, sfVisible);
SetFieldState(#имя, sfVisible);

Re: Как сделать не выбираемое поле

Добавлено: 06 сен 2017, 18:48
Buddy
Вопрос по той же теме.
Есть поле, состоящее из двух чекбоксов.

wDekrCodes('Включать коды для декретников'): noprotect;

`Включать коды отпусков и больничных для декретников`
[.] Коды отпусков для декретников` .@@@@@@@@@@@@@@@@@
[.] Коды больничных для декретников` .@@@@@@@@@@@@@@@@@

Нужно, чтобы при запуске интерфейса чекбоксы были недоступны для редактирования.

Пишу так:
cmInit:
{
SetFieldOption(#wDekrCodes, ofProtected);
ClearFieldOption(#wDekrCodes, ofSelectable);
}

Не помогает, чекбоксы после запуска интерфейса можно спокойно редактировать.
Проверил на другом поле (без чекбоксов, просто текстовое поле) - этот способ работает.
А с чекбоксами - почему-то нет.

Re: Как сделать не выбираемое поле

Добавлено: 06 сен 2017, 19:27
m0p3e
Для чекбоксов есть другая процедура:

Код: Выделить всё

Процедура ClusterDisabledField 
Назначение
  Делает невыбираемыми отдельные элементы в кластере cluster по маске.
Описание
  procedure ClusterDisabledField (cluster : longInt;
                                mask : longInt);
Параметры
  cluster - номер поля в логической таблице.
  mask - маска, биты которой принимают значения 0 или 1 для каждого поля в cluster:
    1 - невыбираемое;
    0 - выбираемое.
  Младший бит маски соответствует верхнему элементу cluster.

Re: Как сделать не выбираемое поле

Добавлено: 06 сен 2017, 19:28
Buddy
m0p3e писал(а):Для чекбоксов есть другая процедура:

Код: Выделить всё

Процедура ClusterDisabledField Назад В начало Вперед 
Назначение
  Делает невыбираемыми отдельные элементы в кластере cluster по маске.
Описание
  procedure ClusterDisabledField (cluster : longInt;
                                mask : longInt);
Параметры
  cluster - номер поля в логической таблице.
  mask - маска, биты которой принимают значения 0 или 1 для каждого поля в cluster:
    1 - невыбираемое;
    0 - выбираемое.
  Младший бит маски соответствует верхнему элементу cluster.
Спасибо!!