Главная страница
    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.035 c
3-1114831865
magician
2005-04-30 07:31
2005.06.14
Сформировать запрос


6-1111652610
X-Disa
2005-03-24 11:23
2005.06.14
обработка скрипта в интернете


14-1117085089
Ozone
2005-05-26 09:24
2005.06.14
Построение грамматик (задолбали заочники)


1-1117076532
Garijnijch
2005-05-26 07:02
2005.06.14
PageControl и его вкладки.


14-1117183135
boriskb
2005-05-27 12:38
2005.06.14
Долги





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский