![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как самому нарисовать иконку? [D6, Win2k]
sidorov_al © (2003-02-03 07:56:00)Привет. Мое приложение кладет иконку с SystemTray, и я хочу рисовать эту иконку. Но как это сделать? Канвы у нее нет. Подскажите кто знает. Или как рисовать, или как скопировать из Bitmap?
Заранее спасибо!
Anatoly Podgoretsky (2003-02-03 11:32:00) [1]Самому нарисовать не получится, тебя туда не пустят, пляски с бубном дадут плохой результат.
Надо отказаться от этой дикой идеи и поручить рисование системе, через функцию Shell_NotifyIcon
sniknik (2003-02-03 11:13:00) [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;
Игорь Шевченко (2003-02-03 09:56:00) [3]RTFM: Shell_NotifyIcon