![]() |
Как добавить png с альфа каналом на кнопку toolbar'а?
Как добавить png с альфа каналом на кнопку toolbar'а?
нашел одно решение но это не совсем то что надо использовал модуль pngimage (http://pngdelphi.sourceforge.net) procedure LoadIcons; var PNG: TPNGObject; BMP: TBitmap; I: integer; dHandle: THandle; begin BMP := TBitmap.Create; BMP.Width:=48; BMP.Height:=48; Bmp.Canvas.Brush.Color:=clBtnFace; bmp.Canvas.FillRect(bmp.Canvas.ClipRect); png:= TPNGObject.Create; for i:=1 to 2 do begin Bmp.Canvas.Brush.Color:=clBtnFace; bmp.Canvas.FillRect(bmp.Canvas.ClipRect); png.LoadFromResourceID(hinstance,2000+I); BMP.Canvas.Draw(0, 0, PNG); Form1.imlToolbar.Add(bmp,nil); end; BMP.Canvas.Draw(0, 0, PNG); Form1.imlToolbar.Add(bmp,nil); png.free; bmp.free; все бы ничего, но при нестандартных темах оформления (XP там где допустим на toolbare градиент есть) под иконкой на кнопке виден квадрат. Чувствую что можно это сделать с pngimage. Подскажите если кто уже пробовал? Может есть другой способ. (иконки с альфа каналом не пойдет, не работает под 98 и ранних win). Как вариант можно перехватить ToolBar1AdvancedCustomDrawButton кнопки toolbar и рисовать состояние hot как-нибудь по своему, как это сделать? |
| Часовой пояс GMT +4, время: 16:43. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.