Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

png с альфа каналом на кнопке toolbar а   Найти похожие ветки 

 
Tirex   (2005-02-28 21:10) [0]

Как добавить 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) [1]

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



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.036 c
14-1117109053
evvcom
2005-05-26 16:04
2005.06.14
А в Москве мастаки собираться будут?


14-1116783564
Zacho
2005-05-22 21:39
2005.06.14
Задача про самолёт на транспортёре :)


1-1117548684
lucifer
2005-05-31 18:11
2005.06.14
Ошибка: Symbol faReadOnly is specific to a platform


14-1116677046
Иксик
2005-05-21 16:04
2005.06.14
Крупный митинг


1-1117112244
MakedoneZ
2005-05-26 16:57
2005.06.14
Pointer,узнать номер ячейки памяти





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский