|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 20, 2004 18:32:57 · Поправил: __Ranger Почему-то после добавления иконки в лист он начинает возвращать какую-то левую: .data dll_path db 'main.cpl',0 ... .code dll_load_icon proc uses ebx, path:DWORD, id:DWORD invoke LoadLibraryEx,path,0,LOAD_LIBRARY_AS_DATAFILE mov ebx,eax invoke LoadIcon,eax,id push eax invoke FreeLibrary,ebx pop eax ret dll_load_icon endp ... invoke ImageList_Create,32,32,ILC_COLOR32 or ILC_MASK,0,0 mov ilist,eax invoke dll_load_icon,addr dll_path,100 ;100 - такой ресурс есть ;если здесь отрисовать иконку через DrawIcon, то будет иконка мышки invoke ImageList_AddIcon,ilist,eax ;вовращает 0 - всё правильно invoke ImageList_GetIcon,ilist,eax,ILD_NORMAL ;возвращает хендл push eax invoke GetDC,0 pop ecx invoke DrawIcon,eax,0,0,ecx ;а тут уже иконка приложения :(( Нихрена не понимаю |
|
|
Дата: Авг 21, 2004 05:06:39 А если вместо LoadIcon юзать ExtractIcon(Ex)? |
|
|
Дата: Авг 21, 2004 13:18:26 Если юзать ExtractIcon(Ex), то всё ок. Мне нужно отобразить иконку аплета панели управления. CPL_INQUIRE возвращает id иконки, она нормально грузится, но после добавления в лист то ли подменяется, то ли становится инвалидной, хотя лист ошибок не возвращает. Сейчас приходится получать id иконки и перечислять все ресурсы типа RT_GROUP_ICON, пока не найду свой id, получая таким образом индекс иконки и затем уже грузить через ExtractIcon(Ex). И через такую задницу всё работает. Но это не есть хорошо. |
|
|
Дата: Авг 21, 2004 14:47:41 Так ведь в ExtractIcon(Ex) можно указывть и id, только надо минус перед ним поставить (в nIconIndex). MSDN: "... For example, use -3 to extract the icon whose resource identifier is 3." |
|
|
Дата: Авг 21, 2004 15:03:23 Мля, что значит старым хелпом пользоваться, у меня ни слова про это. Всё работает, сенкс. Но лист попал под подозрение.. |
|
|
Дата: Авг 21, 2004 16:09:51 Ты про LoadIcon? Поправь, если ошибаюсь (нифига под рукой нет - проверить нечем), но имхо, после FreeLibrary handle иконки становится не валидным, т.к. иконка вместе с dll'кой выгружается. |
|
|
Дата: Авг 21, 2004 16:44:13 Дык после FreeLibrary DrawIcon нормально иконку отрисовывает.. |
|
|
Дата: Авг 21, 2004 18:38:08 Да, тогда - хз. Как будет возможность, надо попробовать - самому интересно :) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.079 |