Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.03;
Скачать: CL | DM;

Вниз

Как самому нарисовать иконку?   Найти похожие ветки 

 
sidorov_al   (2003-02-03 07:56) [0]

Привет. Мое приложение кладет иконку с SystemTray, и я хочу рисовать эту иконку. Но как это сделать? Канвы у нее нет. Подскажите кто знает. Или как рисовать, или как скопировать из Bitmap?
Заранее спасибо!


 
Игорь Шевченко ©   (2003-02-03 09:56) [1]

RTFM: Shell_NotifyIcon


 
sniknik ©   (2003-02-03 11:13) [2]

скопировать из Bitmap просто так не получится, нужно составлять из маски и собственно рисунка.

функция "создающая" иконку, маска и рисунок тут берутся из ресурса, переделай так чтобы составлять из "нарисованах" битмапов,
положить готовую иконку в трей думаю не проблема?

function TForm1.CreateIcon(sMask, sIcon: string): TIcon;
var
AndMask : TBitmap;
XOrMask : TBitmap;
IconInfo : TIconInfo;
Icon : TIcon;
begin
AndMask:= TBitmap.Create;
AndMask.Handle:= LoadBitmap(hInstance, PChar(sMask));
XOrMask:= TBitmap.Create;
XOrMask.Handle:= LoadBitmap(hInstance, PChar(sIcon));
Icon:= TIcon.Create;
IconInfo.fIcon:= true;
IconInfo.xHotspot:= 0;
IconInfo.yHotspot:= 0;
IconInfo.hbmMask:= AndMask.Handle;
IconInfo.hbmColor:= XOrMask.Handle;
Icon.Handle:= CreateIconIndirect(IconInfo);
AndMask.Free;
XOrMask.Free;
result:= Icon;
end;


 
Anatoly Podgoretsky ©   (2003-02-03 11:32) [3]

Самому нарисовать не получится, тебя туда не пустят, пляски с бубном дадут плохой результат.
Надо отказаться от этой дикой идеи и поручить рисование системе, через функцию Shell_NotifyIcon



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

Текущий архив: 2003.04.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
7-6830
Жук
2003-02-07 17:11
2003.04.03
Ненужный Beep


7-6807
crazyprogman
2003-02-10 02:23
2003.04.03
LIstView


14-6731
Anatoly Podgoretsky
2003-03-15 01:32
2003.04.03
Именинники 15 марта


14-6792
Мазут Береговой
2003-03-18 01:35
2003.04.03
Что такое 86 smopuim?


1-6604
AlexMax
2003-03-22 20:24
2003.04.03
Глюки с кодировкой.