Главная страница
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.023 c
6-1079071432
Ozone
2004-03-12 09:03
2004.05.02
Файл в сети


8-1074041218
Валентин
2004-01-14 03:46
2004.05.02
TAG в mp3


3-1081148071
Алексей
2004-04-05 10:54
2004.05.02
EHLib Grid


3-1081105432
alexey
2004-04-04 23:03
2004.05.02
Фильтрация данных


3-1080892115
Yad
2004-04-02 11:48
2004.05.02
TAdoConnection