Запрет доступа к элементам анкетной формы
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Запрет доступа к элементам анкетной формы
Вопрос такой. Как можно управлять доступностью элементов анкетной формы? То есть в зависимости от каких-то условий делать так, чтобы элементы не были доступны и закрашивались в серый цвет. По типу как в Delphi, к примеру, свойство Enabled :=false. Спасибо.
если я правильно понял вопрос, то:
8.8.17. Процедура SetFieldOption (Integer, Word)
Назначение
Установить option-флаги поля.
Описание
procedure SetFieldOption (Поле : Integer; iOption : Word);
Параметры
Поле : Integer - номер поля в логической таблице.
iOption : Word - флаг:
- ofSelectable - поле можно позиционировать;
- ofProtected - поле нельзя менять.
Procedure ClearFieldOption (Integer, Word)
Назначение
Сбросить option-флаги поля.
Описание
procedure ClearFieldOption (Поле : Integer; iOption : Word);
Параметры
Поле : Integer - номер поля в логической таблице.
iOption : Word - флаг:
- ofSelectable - поле можно позиционировать;
- ofProtected - поле нельзя менять.
8.8.17. Процедура SetFieldOption (Integer, Word)
Назначение
Установить option-флаги поля.
Описание
procedure SetFieldOption (Поле : Integer; iOption : Word);
Параметры
Поле : Integer - номер поля в логической таблице.
iOption : Word - флаг:
- ofSelectable - поле можно позиционировать;
- ofProtected - поле нельзя менять.
Procedure ClearFieldOption (Integer, Word)
Назначение
Сбросить option-флаги поля.
Описание
procedure ClearFieldOption (Поле : Integer; iOption : Word);
Параметры
Поле : Integer - номер поля в логической таблице.
iOption : Word - флаг:
- ofSelectable - поле можно позиционировать;
- ofProtected - поле нельзя менять.
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Чтобы вопрос был понятен, приведу пример из Галактики. Выбираем при настройке ТХО, например, алгоритм NP. Выбираем фильтры. Появляется интерфейс - слева много-много CheckButton-ов (или как они правильно называются тут), а справа - PickButton-ы. Пока не поставлена галочка, PickButton неактивен, имеет цвет основного окна и вид обычного анкетного поля для ввода без кнопки.. Ставим галку, соответствующий PickButton становится активным, имеет белый цвет и справа у него появляется кнопка (...) .
То есть, допустим создана такая логическая таблица:
......
create view
var a : string
ch : boolean
as select * from x$files;
......
Далее в секци скрин описано:
screen s1;
fields
ch : NoProtect;
a: PickButton,Protect;// {Font = {BackColor = if (not Ch,8,0) }};
<< 'xxxxxxx'
[.] - Разрешить выбор `
Выберите файл:
.@@@@@@@@@@@@@@@@@@
>>
Нужно, чтобы при ch = false, Pickbutton был недоступным полностью (кнопка выбора отсутствовала, а само поле имело цвет фона). При использовании вышеописанных функции эффект другой, то есть при попытке изменить запись будет выдаваться сообщение об ошибке- Запись защищена от модификации. А хотелось бы, чтобы вообще ни на что нажимать возможности не было
Конечно, можно в соответствии с флагом ch изменять и цвет (закомментированная строка). Но все это как-то искуственно, ведь есть же судя по-всему стандартный способ..
То есть, допустим создана такая логическая таблица:
......
create view
var a : string
ch : boolean
as select * from x$files;
......
Далее в секци скрин описано:
screen s1;
fields
ch : NoProtect;
a: PickButton,Protect;// {Font = {BackColor = if (not Ch,8,0) }};
<< 'xxxxxxx'
[.] - Разрешить выбор `
Выберите файл:
.@@@@@@@@@@@@@@@@@@
>>
Нужно, чтобы при ch = false, Pickbutton был недоступным полностью (кнопка выбора отсутствовала, а само поле имело цвет фона). При использовании вышеописанных функции эффект другой, то есть при попытке изменить запись будет выдаваться сообщение об ошибке- Запись защищена от модификации. А хотелось бы, чтобы вообще ни на что нажимать возможности не было

-
- Местный житель
- Сообщения: 1846
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Так что ли ?
Interface test;
create view
var a : word
ch : word
ch1 : boolean
as select * from systdate;
screen s1;
fields
ch : NoProtect;
a: NoProtect ;
<<
[.] по подразделениям...`
.@@@
>>
end;
HandleEvent
CmInit : {
}
CmCheckfield : {
case a of
1 :{
cfsSetCurrentContainer('test');
cfsSetProp('ci_S1_CH_по_подразделениям...', 'Skip', false);
}
2 :{
cfsSetCurrentContainer('test');
cfsSetProp('ci_S1_CH_по_подразделениям...', 'Skip', true);
}
end;
}
end;
end.
Interface test;
create view
var a : word
ch : word
ch1 : boolean
as select * from systdate;
screen s1;
fields
ch : NoProtect;
a: NoProtect ;
<<
[.] по подразделениям...`
.@@@
>>
end;
HandleEvent
CmInit : {
}
CmCheckfield : {
case a of
1 :{
cfsSetCurrentContainer('test');
cfsSetProp('ci_S1_CH_по_подразделениям...', 'Skip', false);
}
2 :{
cfsSetCurrentContainer('test');
cfsSetProp('ci_S1_CH_по_подразделениям...', 'Skip', true);
}
end;
}
end;
end.