![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
hImgList=ImageList_Create(GetSystemMetrics(SM_CXICON),GetSystemMetrics(SM_CYICON), ILC_COLOR | ILC_MASK | ILC_COLOR24, 2000, 0);
Потом добавляются значки и Image list привязывается в Toolbar. Получаю значки двумя способами: через SHGetFileInfo и ExtractIconEx. Когда добавляю в Image list 24-битные иконки, на ToolBar'е по контуру значка чёрный ореол. Как от этого избавиться? |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
видимо нужно убрать флаг ILC_MASK
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
||||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
ну, дак выводить картинки на Toolbar нужно с ILD_TRANSPARENT, чтобы убрать задний фон. Смотри ImageList_Draw. А вообще, я бы не привязывался к конкретному бит-рейту на изображения. Возможно глубина цвета оригинала больше, а ты просишь 24 бита, вот он и обрезает, получается черная каемка.
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
||||
|
||||
| Sheff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 503 Регистрация: 25.3.2002 Где: Зеленоград Репутация: нет Всего: 3 |
А может вообще не стоит писать ни ILC_COLOR24 ни ILC_COLOR32 ?
-------------------- -------------------------- Шеф всегда прав :) |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
если манифест убрал, значит нужно ручками инициализировать comctl32. Для этого вызови InitCommonControlsEx или InitCommonControls перед использованием контролов. Возможно понадобится прямо сказать, что используется 5 или 6 версия контролов. Это можно сделать посылкой сообщения CCM_SETVERSION во все контролы этой библиотеки.
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |