SysListView32 как прямоугольник выбора мыши - PullRequest
6 голосов
/ 17 августа 2011

Можно ли сделать прямоугольник выбора мыши в представлении списка, как в SysListView32 ?enter image description here

Есть ли способ работать с SysListView32 и использовать его в Delphi?

Спасибо!

Ответы [ 2 ]

10 голосов
/ 17 августа 2011

Вам необходимо установить LVS_EX_DOUBLEBUFFER стиль представления списка (применимо только к comctl32.dll версии 6.0 (XP) и выше):

[...] Этот расширенный стиль также позволяет выбирать область выделения с альфа-смешиванием системы, где это поддерживается.


uses
  commctrl;
..

ListView_SetExtendedListViewStyle(ListView1.Handle, LVS_EX_DOUBLEBUFFER);


Он также работает с компонентом TShellListView, включенным в демонстрационную версию. См. этот ответ , чтобы узнать, как найти и установить элементы управления оболочки.

(PS: не забудьте установить для Multiselect значение true)

2 голосов
/ 17 августа 2011

Сайт сейчас недоступен, но есть бесплатный компонент Delphi ListView, доступный по адресу Mustangpeak , который имеет эту функцию и многое другое, что можно найти в современном представлении списка Windows.

...