В общем наткнулся на проблему создания битмапа для тулбара. Суть проблемы в том что цвет который должен стать прозрачным не становится таковым если просто тупо пытатся сделать битмап в простом "форточкином паинте", ну а если допустим сделать битмап в Paint.Net и залить его белым цветом то все пойдет на ура, но тут вылазиют ньюансы.... 1) если только в новый паинт попытатся вставить картинку скопированную в буфер обмена и сохранить её, тогда опять заранее определенный цвет не становится прозрачным... 2) а если открыть рабочий пустой битмап в форточкином паинте и попытатся вставить туда скопированную картинку то картинка вставляется искаженной, и вообще с другим цветом.... 3) перерисовывать попиксельно иконки на новый работающий битмап не очень то сильно охото.... Не обясните ли новичку как же правильно делать битмапы для тулбара и какие инструменты для этого использовать? Кстати еще у меня вылазиет ошибка ERROR_NOT_ENOUGH_MEMORY после того как я вызываю: Код (Text): push offset tbab push 11 push TB_ADDBITMAP push hToolBar call SendMessageA@16 но как не странно после этой ошибки все работает нормально битмапы загружаются... , как от нее избавится? Тулбар создаю вот так: Код (Text): push 0 push hInst push 0 push dword ptr [ebp+08h] push 40 push 500 push 0 push 0 push WS_VISIBLE or WS_CHILD or TBSTYLE_FLAT push 0 push offset ToolBarClass push 0 call CreateWindowExA@48 mov hToolBar,eax push 0 push sizeof TBBUTTON push TB_BUTTONSTRUCTSIZE push hToolBar call SendMessageA@16 mov ecx,16 mov eax,16 shl eax,16 mov ax, cx mov bSize, eax push bSize push 0 push TB_SETBITMAPSIZE push hToolBar call SendMessageA@16 push COLOR_BTNFACE call GetSysColor@4 mov colorMap.To, eax ;------------RGB----------------- xor eax, eax mov ah, 255 mov al, 255 rol eax, 8 mov al, 255 ;---------------------------------- mov colorMap.From,eax push 1 push offset colorMap push 0 push 800 push hInst call CreateMappedBitmap@20 mov tbab.nID,eax mov tbab.hInst,0 push offset tbab push 11 push TB_ADDBITMAP push hToolBar call SendMessageA@16 push bSize push 0 push TB_SETBUTTONSIZE push hToolBar call SendMessageA@16 push offset stToolbar push 15 push TB_ADDBUTTONS push hToolBar call SendMessageA@16
1) ImageList_Create c флагом ILC_MASK 2) ImageList_Add 3) TB_SETIMAGELIST 3) TB_ADDBUTTONS (поле iBitmap структуры TBBUTTON - это индекс битмапа в имаглисте)