|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Сворачивание в трей с анимацией
Мне нужно чтобы моя программа сворачивалась в трей с анимацией, но она просто исчезает. Я пробывал вот это , но не помогает... эта система не работает только у меня или у всех?
Последний раз редактировалось ChinYan, 05.04.2010 в 14:48. |
#2
|
||||
|
||||
а как вообще сделать чтобы программа пряталась в трей?
|
#3
|
|||
|
|||
Берем компонент TCoolTrayIcon, ставим, бросам на форму, настраиваем свойства и радуемся всем доступным эффектам.
|
#4
|
|||
|
|||
А где ж его взять? Что-то у меня нет такого. В дополнении наверно в каком-нибудь?
|
#5
|
||||
|
||||
Да это сторонние компоны (скажу честно, не самые лучшие и удобные), но забавные.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#6
|
||||
|
||||
Код:
unit Unit1; interface uses ShellAPI, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } FNOTIFYICONDATA: NOTIFYICONDATA; public { Public declarations } procedure NOTIFYICONDATACallbackMessage(var AMessage: TMessage); message WM_USER+$1001; procedure OnMinimize(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin ZeroMemory(@FNOTIFYICONDATA, SizeOf(NOTIFYICONDATA)); FNOTIFYICONDATA.cbSize:=SizeOf(NOTIFYICONDATA); FNOTIFYICONDATA.Wnd:=Handle; FNOTIFYICONDATA.uFlags:=NIF_ICON or NIF_TIP or NIF_MESSAGE; FNOTIFYICONDATA.uCallbackMessage:=WM_USER+$1001; FNOTIFYICONDATA.hIcon:=Application.Icon.Handle; StrPCopy(FNOTIFYICONDATA.szTip, Application.Title); Shell_NotifyIcon(NIM_ADD, @FNOTIFYICONDATA); Application.OnMinimize:=OnMinimize; end; procedure TForm1.FormDestroy(Sender: TObject); begin Shell_NotifyIcon(NIM_DELETE, @FNOTIFYICONDATA); end; procedure TForm1.NOTIFYICONDATACallbackMessage(var AMessage: TMessage); begin if AMessage.LParam=WM_LBUTTONDOWN then begin ShowWindow(Application.Handle, SW_SHOW); Application.Restore; Application.BringToFront; end; end; procedure TForm1.OnMinimize(Sender: TObject); begin ShowWindow(Application.Handle, SW_HIDE); end; end. для анимации самой иконки в трее добавить таймер и : Код:
procedure TForm1.Timer1Timer(Sender: TObject); begin FNOTIFYICONDATA.cbSize:=SizeOf(NOTIFYICONDATA); FNOTIFYICONDATA.Wnd:=Handle; FNOTIFYICONDATA.uFlags:=NIF_ICON; FNOTIFYICONDATA.hIcon:=<тут меняем handle иконок>; Shell_NotifyIcon(NIM_MODIFY, @FNOTIFYICONDATA); end; Последний раз редактировалось NumLock, 07.06.2010 в 09:20. |
#7
|
|||
|
|||
deleted .
|
#8
|
||||
|
||||
Цитата:
В начале был Бит, потом Байт и только потом появилось Слово... |
#9
|
|||
|
|||
спасибо. Уже воспользовался кодом от NumLock.
Не подскажите ещё, как в delphi 7 запихать строку со временем '12:00:00' в переменную Tdatetime? мне нужно узнать что время сейчас > 12:00:00 помещаю в переменную tdatetime strtotime('12:00:00') и сравниваю с now. В 12:00:00 они почему-то не равны. Что я делаю не правильно? Сори, что не в тему, неохото по пустякам новые темы создавать. |