Нужны прозрачные выделения в 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.
Все это означает, что если вы хотите создать такой же эффект в своем приложении, вам придется реализовать его самостоятельно.