if (ImgType=IMAGE_BITMAP) then
begin
ImageList_Add(bi.himl,Img,0); // Normal
ImageList_Add(bi.himl,Img,0); // hot
ImageList_Add(bi.himl,Img,0); // pushed
end else
begin
ImageList_AddIcon(bi.himl,Img); // Normal
ImageList_AddIcon(bi.himl,Img); // hot
ImageList_AddIcon(bi.himl,Img); // pushed
end;
// disabled
hIconBlend := ImageList_GetIcon(bi.himl,0,ILD_BLEND50 or ILD_TRANSPARENT);
ImageList_AddIcon(bi.himl,hIconBlend);
DestroyIcon(hIconBlend);
// focused
if (ImgType=IMAGE_BITMAP) then ImageList_Add(bi.himl,Img,0) else
ImageList_AddIcon(bi.himl,Img);
result:=SendMessage(hwndCtl,BCM_FIRST + BCM_SETIMAGELIST,0,LPARAM(@bi));
if (result=0) then
begin
ImageList_Destroy(bi.himl);
result := SendMessage(hwndCtl,BM_SETIMAGE,ImgType,Img)
end;
end;
Статья Добавление картинки на кнопку, если используются стили XP раздела ОС и Железо Windows может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.