Нужны прозрачные выделения в TListView для Delphi 7 на Windows 7 плюс

Delphi7 не может сделать это по умолчанию, но я надеюсь, что есть способ сделать это с некоторой помощью. Моя картинка показывает, что я хочу сделать со своими ListViews, этот прозрачный выбор, который позволяет цветам ниже показывать через него, как это делает TTreeView (и делает это красиво в![Введите описание изображения здесь][1] Delphi7 по некоторым причинам).

Сайт не позволил бы мне опубликовать фотографию, потому что это мой первый пост. Если вы посмотрите на список в правой части проводника Windows (или File), где находятся файлы, особенно если они есть в представлении Details, в Windows 7, Windows 8, вы увидите, что панель выбора выглядит прозрачной. Он не разрушает цвет объекта (файл и атрибуты файла) под ним. Это то, что мне нужно иметь. Интересно, что древовидное представление на стороне let, которое демонстрирует ту же прозрачность, доступно в древовидном представлении Delphi 7 автоматически без каких-либо особых изменений. Я думал, что эти два компонента пришли из одного и того же dll/unit CommCtrl (или ComCtrls), но просмотр списка не делает этого в Delphi7 автоматически. Это моя проблема. И OwnerDrawn - это не тот ответ, на который я надеюсь.

1 ответ

Решение

Элемент управления представлением списка, на который вы ссылаетесь, тот, который используется Explorer, недоступен для сторонних приложений. Элемент управления представления списка, используемый Explorer, имеет имя класса DirectUIHWND, Стандартное системное представление списка SysListView32, Элемент управления списком Delphi SysListView32, Вы не можете разместить DirectUIHWND контроль в вашем приложении Delphi.

Все это означает, что если вы хотите создать такой же эффект в своем приложении, вам придется реализовать его самостоятельно.

Другие вопросы по тегам