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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
niteo
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 17 сен 2009, 11:39
Контактная информация:

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

Сообщение niteo »

Добрый день уважаемые. Прошу прощение за нубский вопрос, как программно сделать поле недоступным/не выбираемым. А так же как скрыть или отобразить поле на форме. Для кнопок есть процедура ShowButton , для полей не нашел. Пробовал ковыряться с ClusterDisabledField, но что то у меня не получается...
Serges
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49

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

Сообщение Serges »

ClearFieldOption(#имя,ofSelectable);
SetFieldOption(#имя,ofSelectable);
Галактика 8.10, Oracle 10g / 10.2.0.4
Semi-bit
Постоянный обитатель
Сообщения: 123
Зарегистрирован: 01 фев 2007, 12:45
Откуда: Магнитогорск
Контактная информация:

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

Сообщение Semi-bit »

А для видимости:

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

ClearFieldState(#имя, sfVisible);
SetFieldState(#имя, sfVisible);
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
Buddy
Постоянный обитатель
Сообщения: 122
Зарегистрирован: 02 июн 2016, 15:18
Откуда: Галактика СПб

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

Сообщение Buddy »

Вопрос по той же теме.
Есть поле, состоящее из двух чекбоксов.

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

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

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

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

Не помогает, чекбоксы после запуска интерфейса можно спокойно редактировать.
Проверил на другом поле (без чекбоксов, просто текстовое поле) - этот способ работает.
А с чекбоксами - почему-то нет.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

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

Сообщение m0p3e »

Для чекбоксов есть другая процедура:

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

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

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

Сообщение Buddy »

m0p3e писал(а):Для чекбоксов есть другая процедура:

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

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