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

Как сделать PickButton в стиле ComboBox

Добавлено: 07 окт 2003, 01:11
Juve
Если в Fields описать поле xxx:PickButton, то получится кнопка справа от поля...а нужно сделать выпадающий вниз список...думаю что проще некуда,но синтаксис в официальной документации я не нашел... :( , может кто подскажет? Спасибо.

Re: Как сделать PickButton в стиле ComboBox

Добавлено: 07 окт 2003, 01:14
Juve
Там конечно PickButton без улыбки...смайлик случайно получился...

Re: Как сделать PickButton в стиле ComboBox

Добавлено: 07 окт 2003, 07:44
Goblin
Fields MyField:[List '1 элемент списка','2 элемент списка','3 элемент списка' ...],protect;

Только для целочисленных типов ...

Re: Как сделать PickButton в стиле ComboBox

Добавлено: 07 окт 2003, 11:44
Max_Fin
Не мучайся, напиши свою библиотеку, например, на Дельфях :-)

Re: Как сделать PickButton в стиле ComboBox

Добавлено: 07 окт 2003, 11:45
Max_Fin
сорри не туда попало

Re: Как сделать PickButton в стиле ComboBox

Добавлено: 07 окт 2003, 12:07
Deinis
CONST
sci13EnEsc = 6906;
END

Interface MySpMoveOS;
create view
var
...
P2 : word; // для разбора параметров
...
Window wParam 'Задайте параметры идентификатора &VIP[Obj:"MySpMoveOS"]' (,,) EscClose;
Show at (22,15,120,25);
Screen scParam (,,);
Show at (,,,);
Fields
...
P2 ('Разность сумм',,sci13EnEsc) :
[LIST 0 ' ',
1 'Предыдущая первоначальная ст-ть',
2 'Новая первоначальная ст-ть',
3 'Предыдущая сумма износа',
4 'Новая сумма износа',
5 'Сумма покупки/продажи'] ,protect;
...
<<
...
Разность между какой величиной рассчитывать: .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...
>>
End; // Screen
В HandleEvent прописывать обработку по этому полю не нужно.

Re: Как сделать PickButton в стиле ComboBox

Добавлено: 07 окт 2003, 12:59
Maverick
По поводу списков и ПикБаттонов. Маленькое замечание.
1.Если элементов, предлагаемых пользователю к выбору БОЛЬШЕ 3, то НЕОБХОДИМО использовать PickButton, если от 1 до 3-х - то LIST
2.Поле, в котором заюзан PickButton, должно
а) реагировать на F3 в любом случае
б) если не заполнено - то иметь фон NeedColor и при позиционировании на него (т.е. при срабатывании cmCurField) автоматом вызываться F3

Re: Как сделать PickButton в стиле ComboBox

Добавлено: 07 окт 2003, 14:00
Deinis
2 Maverick:
1. А почему такое ограничение на кол-во элементов выбора? С чем связано?
2. Достаточно ли указать вместо
P2 ('Разность сумм',,sci13EnEsc) :
[LIST 0 ' ',
1 'Предыдущая первоначальная ст-ть',
2 'Сумма покупки/продажи'] ,protect;

такую конструкцию:
[LIST 0 ' ',
1 'Предыдущая первоначальная ст-ть',
2 'Сумма покупки/продажи'] ,Protect ,PickButton;

3. Можешь привести пример с использованием фона NeedColor?

Re: Как сделать PickButton в стиле ComboBox

Добавлено: 07 окт 2003, 14:23
Maverick
1. Ограничение продиктовано требованиями к эргономичности, попросту говоря- стандартами корпорации - т.е. хочешь писать правильно - пиши так как стандартах
2. LIST и PickButton - суть разные параметры! Вместе их использовать нельзя - выбирай одно - либо это ЛИСТ либо это поле с кнопкой выбора
3. NeedColor подключается как параметр фонта для поля через If , т.е. если есть ссылка - то 0 если нет - то NeedColor. Соответственно и в обработчике cmCurField нужна проверка - если для данного поля запись валидна то ничего не делаем иначе вызываем cmPick

Re: Как сделать PickButton в стиле ComboBox

Добавлено: 07 окт 2003, 14:54
Deinis
Дык, Mav, это ж получается, что надо обрабатывать нажатие на PickButton в скрине. И вызывать по нажатию ...что?.... отдельный интерфейс? Который дает воможность выбора между 5-тью параметрами?
Это чтобы иметь возможность выбора из 5 параметров писать фейс который будет вызываться по нажатию кнопки? А если будет в скрине несколько полей и каждый с кол-вом элементов выбора более 3-х? На каждый писать отдельный фейс?
Или надо вызывать отдельное окошко? Т.е. надо для каждого поля в своем фейса надо прописать свое window, которое будет вызываться по нажатию на PickButton?
Это ж раздувается фейс как....

Поле с конструкцией LIST - довольно просто и наглядно. По нажатию на F3 открывается окошко и ты че-нить выбираешь. Причем обработчик окошка и само окошко ты не прописываешь. А для конструкции PickButton обработчик (отдельный фейс, отдельное окно) прописывать придется.

Может как-то еще можно обработать выбор в поле с конструкцией PickButton?

Стандарты

Добавлено: 08 окт 2003, 19:59
Forsit_
Maverick, может поделишся с народом этими стандартами?
???

Re: Стандарты

Добавлено: 09 окт 2003, 02:05
Juve
Не знаю насчет стандартов ;), но информация очччень полезная, спасибо большое!

Re: Стандарты

Добавлено: 10 окт 2003, 15:30
Maverick
Выдержка из "ТРЕБОВАНИЯ К РАЗРАБОТКЕ ПОЛЬЗОВАТЕЛЬСКИХ ИНТЕРФЕЙСОВ" - Корпоративный стандарт
...
3.8. Поля ввода
3.8.1. Поля ввода с фиксированными значениями должны заполняться с помощью функциональ-ной клавиши F3. Указание на это должно появляться в строке функциональных клавиш.
3.8.2. Если фиксированных значений не более 3-х, они должны последовательно и циклически отображаться в поле по мере нажатия указанной клавиши (элемент LIST).
3.8.3. Если фиксированных значений больше 3-х, они должны отображаться в отдельном окне выбора, открываемом по клавише F3 (свойство PickButton).
3.8.4. Если поле ввода является обязательным для заполнения, окно выбора значений должно от-крываться автоматически при установке курсора на это поле, когда оно еще не заполнено

Re: Стандарты

Добавлено: 10 окт 2003, 16:30
Deinis
>> 3.8.3. Если фиксированных значений больше 3-х, они должны отображаться в отдельном окне
>> выбора, открываемом по клавише F3 (свойство PickButton).

Мав, поясни, плиз, что это за "отдельное окно выбора". Нужно эти "отдельные окошки" прописывать в своем интерфейсе?
Или нужно использовать то, что в стандартах называется "свойство PickButton"? То есть самому прописывать окошки window не надо, а PickButton может открывать свое окошко, похожее на LIST? Можешь привести пример/кусочек примера, как это реализовывается (ведь именно в этом загвоздка)?