imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 04.03.2005, 19:58     # 1
Ti
-virus-
 
Регистрация: 18.10.2002
Сообщения: 211

Ti Путь к славе только начался
Question Как добавить 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 как-нибудь по своему, как это сделать?
Ti вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 08:40.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.