IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Как добавить png с альфа каналом на кнопку toolbar'а? (https://www.imho.ws/showthread.php?t=81037)

Ti 04.03.2005 19:58

Как добавить 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.