![]() |
|
|
![]()
|
|
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Первоначальная задача: показать иконки в cxGrid, которые ассоциированы с файлами. В базе есть колонка с именем файла, которая выводится в грид. В гриде создал ещё одно поле и рисую там иконку в событии OnCustomDrawCell. Выводится без ошибок, можно сказать, за тем исключением, что
1. Размер иконки слишком велик, хочется 16х16. 2. В ячейке, где рисуется изображение, появляется всякий мусор. ![]() Я решил поступить иначе. Создал вычисляемое поле типа ftGrafic. Захотел этому полю присвоить иконки, но вычисляемые поля такого типа создавать нельзя. Вот код рисования иконки:
Как без артефактов нарисовать иконоку в ячейке грида размером 16х16? Это сообщение отредактировал(а) Akella - 22.9.2009, 08:40 |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Ура. Ай да я, ай да молодец
Заменил на ExtractIconEx()
Это сообщение отредактировал(а) Akella - 22.9.2009, 10:17 |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
К сожалению из-за этого
Без прав админа приложение не показывает значки. Что можно придумать? |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 4 Всего: 68 |
Использовать шел объекты... SHGetFileInfo с флагами SHGFI_SYSICONINDEX or SHGFI_LARGEICON or SHGFI_PIDL, вернет тебе хендл иконки не только ассоциированного файла но и PIDL-ов
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
А если файла не существует? Мне нужно получить значок в любом случае: хоть файл, хоть нету. У нас на форуме видел пример с использование какой-то функции из WinAPI, но не могу найти :(
Добавлено через 12 минут и 46 секунд Пример нашёл http://forum.vingrad.ru/index.php?showtopi...t&p=2020313 Но всё равно, нужно рисовать иконки даже несуществующих файлов. |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 4 Всего: 68 |
Akella, Ну не существует, расширение есть, получишь значек.....)))
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
нет, там, помнится, была функция, в которой явно было написано,что она возвращает иконку файла,а если файла нет, то берёт значение из реестра
Это сообщение отредактировал(а) Akella - 30.7.2010, 17:58 |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 4 Всего: 68 |
Да блин... Шел тебе вернет хендл на иконку фала, существует он или нет, не важно.... Если есть ext файла, есть ассоциация с этим екстом, вернется хендл ассоциированной иконы, в противном случе вернеться стандартный икон... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Да, этот возвращает значок, даже если файл не существует.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |