Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.034 c
1-1102069104
Digitman
2004-12-03 13:18
2004.12.19
Проблемы с OpenHelp в D7


1-1101931887
Гость
2004-12-01 23:11
2004.12.19
Delphi 2005 - портится русский текст в Version Info


1-1102343942
Dysan
2004-12-06 17:39
2004.12.19
дополнения к IDE Delphi


3-1100675438
Дырчик
2004-11-17 10:10
2004.12.19
Поле типа дата


4-1099376896
WaS
2004-11-02 09:28
2004.12.19
Как установить фокус на папку в открытом окне зная её путь





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский