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

Вниз

DinamicTray   Найти похожие ветки 

 
focor   (2004-10-24 14:07) [0]

Как поместить в трей progreesbar?(Как в Процессах у XP)


 
Profi ©   (2004-10-24 15:08) [1]

focor   (24.10.04 14:07)
Нарисуй несколько иконок, с разными показателями, и присваевой ту, которая нужна!


 
GuAV ©   (2004-10-24 23:57) [2]

Profi ©   (24.10.04 15:08) [1]
Хороший способ.

Если всё же не устраивает, то можно создавать иконку из битмапа с помощью CreateIconIndirect.
Вот так у меня получалось:

Инициализация

 tempDC:=GetDC(0);
 IconDC:=CreateCompatibleDC(tempDC);
 IconBmp:=CreateCompatibleBitmap(tempDC,16,16);
 ReleaseDC(0,tempDC);
 SelectObject(IconDC,IconBmp);
 with IconInfo do
 begin
   fIcon:=true;
   hbmMask:=IconBmp;
   hbmColor:=IconBmp;
 end;
 Icon:=CreateIconIndirect(IconInfo);

изменение
 // работа с bmpDC

 DestroyIcon(Icon);
 Icon:=CreateIconIndirect(IconInfo);


финализация

 DestroyIcon(Icon);
 DeleteDC(IconDC);
 DeleteObject(IconInfo.hbmColor);


 
focor   (2004-11-03 08:20) [3]

Спасибо за помощь,но хотелось бы чтоб данные снимались напямую с прогресса


 
Cobalt ©   (2004-11-03 13:09) [4]

Тогда напиши функцию, которая бы изменяла картинку иконки (в зависимости от параметра прогресса), а затем просто обновляй её в трее.


 
++MASTER++ ©   (2004-11-03 13:34) [5]

Вытяни из системной библиотеке в Windows\System32\, помойму из shell32.dll(если там их нет то поищи сам в той же директории) картинки стандартных иконок для отображения процессов. А лучше скачай Microangello и сохрани все системные иконки в своей папочке, чтобы они были под рукой. Можешь нарисовать свои иконки под тип ProgressBar, кстати тоже в Microangello. Теперь у тебя есть иконки, лучше чтобы их было чётное число, а самое лучшее штук 10. Переименуй их в соответствии с номером значения прогресс бара. Ну а теперь создай функцию, считывай свои данные, масштабируй их в соответствии с нумерацией иконок и загружай в Tray иконку с таким же названием. ВСЁ!!! Кстати, программеры WINDOWS XP делают так же, только грузят иконки напрямую из DLL. Что не понял спрашивай...


 
KSergey ©   (2004-11-03 15:39) [6]

> [5] ++MASTER++ ©   (03.11.04 13:34)

Чем ваш ответ от [1] отличается?

> [3] focor   (03.11.04 08:20)
> но хотелось бы чтоб данные снимались напямую с прогресса

Это как??


 
wal ©   (2004-11-03 16:17) [7]

> [3] focor   (03.11.04 08:20)
> но хотелось бы чтоб данные снимались напямую с прогресса
Это надо свой компонент написать, TCoolTrayProgressBar.

С уважением.



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

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

Наверх




Память: 0.48 MB
Время: 0.062 c
8-1095773905
debuger
2004-09-21 17:38
2004.12.19
HDC


14-1101395700
kdv
2004-11-25 18:15
2004.12.19
о Delphi 2005, если интересно


8-1095874400
debuger
2004-09-22 21:33
2004.12.19
Ненормальный TCanvas


11-1073121423
nsvi
2004-01-03 12:17
2004.12.19
ComboBox


1-1102157928
SMT
2004-12-04 13:58
2004.12.19
Идентификация версии Excel