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

Вниз

Запуздыривание в трей.   Найти похожие ветки 

 
vain ©   (2006-12-26 17:30) [0]


type
 TSystemTrayIcon= class
   private
     placed: boolean;//true, если запуздырено
     NID: _NOTIFYICONDATA;
     FIcon: TIcon;
     FTip: string;
     ID: integer;
     procedure SetIcon(NewIcon: TIcon);
     procedure SetTip(NewTip: string);
     procedure Refresh;
   public
     constructor Create(hOwner: THandle);
     procedure AddTrayIcon(Icon: TIcon= nil; Tip: string="");
     procedure DeleteTrayIcon;
     destructor Destroy;
     property Icon: TIcon read FIcon write SetIcon;
     property Tip: string read FTip write SetTip;
   end;

implementation

procedure TSystemTrayIcon.Refresh;
begin
ShowMessage(BoolToStr(Shell_NotifyIcon(NIM_MODIFY, @NID)));
end;

procedure TSystemTrayIcon.SetTip(NewTip: string);
begin
Self.FTip:= NewTip;
If NewTip<>""
  Then begin
       FillChar(NID.szTip, SizeOf(NID.szTip), 0);
       lstrcpyn(NID.szTip, PChar(Self.FTip), SizeOf(nid.szTip));
       NID.uFlags:= NID.uFlags or NIF_TIP;
       end;
If placed
  Then Self.Refresh;
end;


При изменении tip"a, ShowMessage показывает false. Как быть? Подскажете?


 
Джо ©   (2006-12-26 17:32) [1]

> Как быть?

if not Shell_NotifyIcon (...) then
 RaiseLastOSError;

и все узнаешь.


 
Джо ©   (2006-12-26 17:34) [2]

Кстати, кто будет инициализировать поле cbSize правильным значением?


 
vain ©   (2006-12-26 17:43) [3]


> if not Shell_NotifyIcon (...) then
>  RaiseLastOSError;
> и все узнаешь

A call to an OS function failed.
И?

> Джо ©   (26.12.06 17:34) [2]
>
> Кстати, кто будет инициализировать поле cbSize правильным
> значением?

Поправил - на исход не влияет.



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

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

Наверх




Память: 0.45 MB
Время: 0.013 c
2-1166740295
XfroSt
2006-12-22 01:31
2007.01.14
Передача значения в поток thread


3-1161929493
FrostFS
2006-10-27 10:11
2007.01.14
макросы Excel


15-1166602464
Layner
2006-12-20 11:14
2007.01.14
Выбрать монитор, или 20" или 17"


2-1166604806
регинка
2006-12-20 11:53
2007.01.14
помогите!!!!!!!!!


1-1163803640
SkySpeed
2006-11-18 01:47
2007.01.14
Как определелить конец распечатки информации?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский