Страница 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.
 
Спасибо!!