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

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

Как самому нарисовать иконку? [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


Наверх

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