Привет !
На самом деле вариантов множественного выбора может
быть несколько (стандартный мне не нравится, т.к. он не управляем).
Хороший и не сложный вариант, будет работать с любыми видами
списков (драйверами БД) и не зависит от типа шаблонов.
Постараюсь писать без "наворотов":
1. В списке (файле), который просматривается в BROWSE, должен
быть уникальный ключ (индекс) - иначе невозможно будет
идентифицировать запись. Предположим есть уникальный номер
с типом данных LONG.
2. Заводим очередь с одним полем типа LONG.
3. Делаем кнопку (или по AlertKey вешаем на Browse событие по
нажатию клавиши, например ПРОБЕЛ) в котором для текущей
записи проверяем есть ли ее номер в очереди. Если нет - добавляем.
Если есть - удаляем. Т.е. пользователь нажимая кнопку (или
пробел) включает или исключает запись из списка в набор.
После выполнения операции - не забываем обновлять список.
4. В списке записи Browse для которых есть записи в очереди можно
подсвечивать иконкой или стилем, что бы было видно какие записи
в списке выбраны.
5. Можно сделать кнопку общего сброса - в ней обнуляется очередь
и обновляется список.
6. Теперь если нужно сделать групповую обработку - "прокручиваем"
очередь и по уникальным номерам вытаскиваем записи из файла.
И для них выполняем необходимую операцию. Например - печать
всех карточек для отмеченных в Browse записей и т.д.
После выполнения операции для группы записей можно сбросить
очередь, а можно оставить - для повтора операции или выполнения
другой операции по группе отмеченных записей ... и т.д.
7. Все.
С уважением, ТАТА