Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Белый фон иконок, SHGetFileInfo 
V
    Опции темы
Keeper89
Дата 4.5.2009, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



Доброго времени суток!

Получаю иконки для приложения следующим образом (в ImageList):
Код

var
  hImageList: THANDLE;
  FileInfo: TSHFileInfo;
...
  hImageList := SHGetFileInfo('C:\', 0, FileInfo,
                SizeOf(FileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
  imgListFolders.Handle:= hImageList;
..

Но цвет фона иконок получается не прозрачным, а белым. В чем может быть проблема?

Заранее спасибо.


--------------------
PM MAIL WWW   Вверх
bems
Дата 4.5.2009, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 21
Всего: 88



попробуй установит ему Masked в истину


--------------------
Обижено школьников: 8
PM MAIL   Вверх
kami
Дата 4.5.2009, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 15
Всего: 72



Apply the appropriate overlays to the file's icon. The SHGFI_ICON flag must also be set.

Код

or SHGFI_ADDOVERLAYS

SHGFI_ADDOVERLAYS = $20;
PM MAIL WWW   Вверх
Keeper89
Дата 4.5.2009, 18:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



bems, kami, не помогает.
Masked = True, bkColor, BlendColor = clNone.


--------------------
PM MAIL WWW   Вверх
kami
Дата 4.5.2009, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 15
Всего: 72



Цитата(Keeper89 @  4.5.2009,  18:51 Найти цитируемый пост)
bems, kami, не помогает.

Судя по посту, выполнены рекомендации только 
bems.

Я же говорил про:

Код

hImageList := SHGetFileInfo('C:\', 0, FileInfo,
                SizeOf(FileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON or SHGFI_ADDOVERLAYS);


А вообще, судя по msdn должно быть:

Код

hImageList := SHGetFileInfo(
    PChar(''),
    0,
    fi,
    SizeOf(TSHFileInfo),
    SHGFI_ADDOVERLAYS or SHGFI_SYSICONINDEX or [I]SHGFI_USEFILEATTRIBUTES[/I] or SHGFI_ICON or SHGFI_SMALLICON);

Выделенное курсивом возможно лишнее.
PM MAIL WWW   Вверх
Keeper89
Дата 4.5.2009, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



Цитата(kami @  4.5.2009,  19:36 Найти цитируемый пост)
Судя по посту, выполнены рекомендации только 

Нет, поставил SHGFI_ADDOVERLAYS - результат тот же.


--------------------
PM MAIL WWW   Вверх
kami
Дата 4.5.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 15
Всего: 72



DrawingStyle = dsTransparent?
PM MAIL WWW   Вверх
Keeper89
Дата 4.5.2009, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



Цитата(kami @  4.5.2009,  19:54 Найти цитируемый пост)
DrawingStyle = dsTransparent? 

Спасибо, помогло, даже убрал флаг SHGFI_ADDOVERLAYS. Хотя, вообще странно, в других случаях у меня было установлено DrawingStyle = dsNormal и все работало.

Это сообщение отредактировал(а) Keeper89 - 4.5.2009, 20:17


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0484 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.