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

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

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

Ответить
Juve
Постоянный гость
Сообщения: 60
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

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

Сообщение Juve »

Если в Fields описать поле xxx:PickButton, то получится кнопка справа от поля...а нужно сделать выпадающий вниз список...думаю что проще некуда,но синтаксис в официальной документации я не нашел... :( , может кто подскажет? Спасибо.
Juve
Постоянный гость
Сообщения: 60
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

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

Сообщение Juve »

Там конечно PickButton без улыбки...смайлик случайно получился...
Goblin
Местный житель
Сообщения: 474
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь-матушка
Контактная информация:

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

Сообщение Goblin »

Fields MyField:[List '1 элемент списка','2 элемент списка','3 элемент списка' ...],protect;

Только для целочисленных типов ...
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

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

Сообщение Max_Fin »

Не мучайся, напиши свою библиотеку, например, на Дельфях :-)
Жду выхода Вселенная 2.12!
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

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

Сообщение Max_Fin »

сорри не туда попало
Жду выхода Вселенная 2.12!
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

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

Сообщение 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 прописывать обработку по этому полю не нужно.
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

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

Сообщение Maverick »

По поводу списков и ПикБаттонов. Маленькое замечание.
1.Если элементов, предлагаемых пользователю к выбору БОЛЬШЕ 3, то НЕОБХОДИМО использовать PickButton, если от 1 до 3-х - то LIST
2.Поле, в котором заюзан PickButton, должно
а) реагировать на F3 в любом случае
б) если не заполнено - то иметь фон NeedColor и при позиционировании на него (т.е. при срабатывании cmCurField) автоматом вызываться F3
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

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

Сообщение Deinis »

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

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

3. Можешь привести пример с использованием фона NeedColor?
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

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

Сообщение Maverick »

1. Ограничение продиктовано требованиями к эргономичности, попросту говоря- стандартами корпорации - т.е. хочешь писать правильно - пиши так как стандартах
2. LIST и PickButton - суть разные параметры! Вместе их использовать нельзя - выбирай одно - либо это ЛИСТ либо это поле с кнопкой выбора
3. NeedColor подключается как параметр фонта для поля через If , т.е. если есть ссылка - то 0 если нет - то NeedColor. Соответственно и в обработчике cmCurField нужна проверка - если для данного поля запись валидна то ничего не делаем иначе вызываем cmPick
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

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

Сообщение Deinis »

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

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

Может как-то еще можно обработать выбор в поле с конструкцией PickButton?
Forsit_
Постоянный гость
Сообщения: 61
Зарегистрирован: 29 мар 2005, 17:49

Стандарты

Сообщение Forsit_ »

Maverick, может поделишся с народом этими стандартами?
???
Juve
Постоянный гость
Сообщения: 60
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Стандарты

Сообщение Juve »

Не знаю насчет стандартов ;), но информация очччень полезная, спасибо большое!
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: Стандарты

Сообщение Maverick »

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

Re: Стандарты

Сообщение Deinis »

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

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