Есть ли лучший вариант множественного выбора, чем TDBGrid по умолчанию в Delphi? - PullRequest
1 голос
/ 01 июня 2009

Прежде всего, это относится к Delphi 5 Enterprise, так как именно это мы используем на работе. В ближайшее время обновлений нет, так как эта версия, по-видимому, «делает то, что нам нужно».

После установки параметров dgRowSelect и dgMultiSelect в TDBGrid поведение не подтверждается стандартным пользовательским интерфейсом Windows.

Я не думаю, что мы когда-либо нуждались в этой опции раньше, иначе я бы заметил, насколько плоха реализация по умолчанию в TDBGrid Delphi. Я хочу Ctrl-Click для отдельных строк (что работает ОК; не очень хорошо, но ОК), но также Shift-Click для выбора диапазона (который не работает).

Я подозреваю, что мог бы перехватить сообщение WM_LBUTTONDOWN и обработать его вручную в подклассе, но есть ли подводные камни, которые ждут меня по этому пути?

Я надеюсь, что кому-то уже приходилось проходить через эти движения, поскольку я не могу представить, чтобы люди были довольны предложенными плохими усилиями по умолчанию.

1 Ответ

0 голосов
/ 01 июня 2009

Библиотека Infopower, доступная от Woll2Woll [http://www.woll2woll.com],, содержит расширенную сетку данных, которая включает свойства (msoAutoUnselect, msoShiftSelect), которые обеспечат необходимое поведение.

Эти свойства были введены очень рано в истории Infopower, поэтому даже самая дешевая версия, которую вы можете найти, должна быть адекватной. В любом случае Infopower стоит меньше трехсот долларов.

Я никоим образом не связан с Woll2Woll; Я просто использую их продукт.

-Аль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...