Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

png с альфа каналом на кнопке toolbar'а [D6, D7, Win95/98, WinXP]


Tirex ©   (2005-02-28 21:10:00) 

Как добавить 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) под иконкой на кнопке виден квадрат.
Чувствую что можно это сделать с pngimage. Подскажите если кто уже пробовал? Может есть другой способ. (икоки с альфа каналом не пойдет, не работает под 98 и ранних win).


Tirex   (2005-03-01 20:12:00) [1]

Как вариант можно перехватить onpaint кнопки и рисовать фон тем же цветом каким фон кнопки. как это сделать?  Хотя если там градиент это не будет работать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо