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

Вниз

KOLTrayIcon не может корректно отобразить 256-цветную ico в tray   Найти похожие ветки 

 
Ал   (2003-10-17 11:02) [0]

Захотелось использовать в Tray 256-цветную пиктограмму, но она отображается с цветовыми искажениями, хотя эта же пиктограмма прекрасно отображается и в заголовке окна и в Explorer. Подскажите, в чем дело?


 
mdw ©   (2003-10-17 12:08) [1]

У меня тоже самое. Это проблема LoadIcon. Также заметил, что LoadIcon грузит иконку с размерами по умолчанию(32X32), т.е если исходный размер 16X16, то масштабирует в 32X32. А при выводе в TrayIcon происходит обратное масштабирование. Искажения после двойного масштабирования получаются не слабые...

Лечится использованием вместо LoadIcon -
LoadImage(hInstance, "ZJMCTRLMAINFORM_TRAYICON1", IMAGE_ICON, 16, 16, 0)


 
BorisMor ©   (2003-10-17 12:25) [2]

Подскажите как хинт добаваить к TrayIcon ?
(Что бы при подведение к иконуе появллся)


 
Ал   (2003-10-17 12:43) [3]

БорисМору:

TrayIcon.Tooltip := "Мой хинт";


 
mike.dld ©   (2003-10-17 13:04) [4]

> BorisMor ©   (17.10.03 12:25) [2]

Юзаю такое и всё работает:


procedure AddTrayIcon(hWindow: THandle; ID: Cardinal; Icon: HICON; CallbackMessage: Cardinal; Tip: string; Cmd: Byte);
var NID : tNotifyIconData;
begin
 FillChar(NID,SizeOf(TNotifyIconData),0);
 with NID do begin
   cbSize := SizeOf(TNotifyIconData);
   Wnd := hWindow;
   uID := ID;
   if Cmd <> NIM_DELETE then begin
     uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
     uCallbackMessage := CallbackMessage;
     hIcon := Icon;
     if Length(Tip) > 63 then SetLength(Tip,63);
     lstrcpyn(szTip,PAnsiChar(Tip),63);
   end;
 end;
 Shell_NotifyIcon(Cmd, @NID);
end;


А насчёт цветовых искажений - это глюк Винды имхо, т.к. в ХР иконки отображаются нормально, а во всех более ранних версиях максимум - 16 цветов


 
mdw ©   (2003-10-17 14:54) [5]

>А насчёт цветовых искажений - это глюк Винды имхо, т.к. в ХР иконки отображаются нормально, а во всех более ранних версиях максимум - 16 цветов
У меня отображаются нормально и под w2000 и под w98.


 
Yury Sidorov   (2003-10-17 22:19) [6]

2 mdw: Отображается правильно 256 цветная иконка в трее на Windows 98 и 2000? Слабо верится, т.к. похоже во всех Windows кроме ХР для трея используется 16-цветный imagelist.



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
8-1074579145
Игорь
2004-01-20 09:12
2004.05.02
Свой видеоплеер


4-1078333980
Rustamus
2004-03-03 20:13
2004.05.02
Доступ к системе


9-1068327019
DDS
2003-11-09 00:30
2004.05.02
OpenGL: Задаю рисовать POLIGON последовательно по точкам, а он...


1-1081937411
FireMan_Alexey
2004-04-14 14:10
2004.05.02
Как можно расчитать смещение от начала файла до записи константы


1-1082122909
oleg_v
2004-04-16 17:41
2004.05.02
Форма и компоненты