Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вызов приложения из трея [D6, WinME, WinXP]


Spiteful MAx ©   (2003-01-10 20:48:00) 

Мастера! Такая проблема - Есть приложение, при нажатии на кнопку свернуть оно убирается в трей, а когда изменяется Memo, то оно восстонавливается (по Applica...Restore;). И вот тут возникает проблема - оно (приложение) не хочет снова сворачиваться в трей, а остаётся на таскбаре.
Подскажите, что мне делать.
Для трея используется специальный компонент (Не помню где взял, но ишется как TTrayIcon), и в эго настройках уже проставленно чтобы при сворачивании приложение уходило в трей.


Юрий Зотов   (2003-01-12 15:47:00) [1]

> Кстати (11.01.03 04:18)

Странно... А что и кому я должен?


Song   (2003-01-11 07:34:00) [2]

Смотрите мой "бессмертный" пример трея: http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1037272197:)


Кстати   (2003-01-11 04:18:00) [3]

2 Юрий Зотов © (11.01.03 01:37)
"Специальное" это мыло или нет, но вот не давеча как вчера Вы
"НЕ ВЫПОЛНИЛИ СВОЙ ДОЛГ И НЕ ПРЕДСТАВИЛИ В ...ный РАЗ СЕЙ ПРИМЕР С ИКОНКОЙ В ТРЕЕ!А сегодня пожалуйста, плиииииз?
Значит, может быть, оно действительно "специальное"! :-)


Юрий Зотов   (2003-01-11 01:37:00) [4]

Это специальное мыло. Чтобы трей ломать. :о)


Spiteful MAx   (2003-01-10 23:23:00) [5]

Rouse_, а что с ним не так:)


Rouse_   (2003-01-10 22:48:00) [6]

Кстати, оригинальное мыло :)
antihrist@xaker.ru
Я даже пивом поперхнулся как увидел :))


Spiteful MAx   (2003-01-10 22:42:00) [7]

:-) Юрий Зотов, извеняюсь конечно, но видимо вечен...

Спасибо всем большое!


Rouse_   (2003-01-10 22:39:00) [8]

:)) Хоть Юрий уже и ответил, но исходник ушел. Лови :))

Желаю успехов


Юрий Зотов   (2003-01-10 22:29:00) [9]

О, боже, снова этот трей. Видимо, он вечен.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Forms, ShellAPI, Menus;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
FIconData: TNotifyIconData;
protected
procedure WndProc(var Message: TMessage); override;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

const
UM_TRAY = WM_USER + 1;

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
with FIconData do
begin
cbSize := SizeOf(FIconData);
Wnd := Handle;
uID := 100;
uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
uCallbackMessage := UM_TRAY;
hIcon := Application.Icon.Handle;
StrPCopy(szTip, Application.Title)
end;
Application.ShowMainForm := False;
Shell_NotifyIcon(NIM_ADD, @FIconData)
end;

procedure TForm1.WndProc(var Message: TMessage);
begin
case Message.Msg of
WM_SYSCOMMAND:
if TWMSysCommand(Message).CmdType and $FFF0 = SC_MINIMIZE then
begin
Shell_NotifyIcon(NIM_ADD, @FIconData);
Application.MainForm.Visible := False
end
else inherited;
UM_TRAY:
if Message.LParam = WM_LBUTTONDBLCLK then
begin
Application.MainForm.Visible := True;
ShowWindow(Application.Handle, SW_HIDE);
Shell_NotifyIcon(NIM_DELETE, @FIconData)
end;
else inherited
end
end;

end.


Rouse_   (2003-01-10 22:21:00) [10]

Секундочку, нужно найти только


Spiteful MAx   (2003-01-10 22:15:00) [11]

Было бы не плохо...


Rouse_   (2003-01-10 21:33:00) [12]

Реальзуй свое сворачивания в трей, могу выслать маленькую програмку демонстрирующее это. Она более полна чем пример в FAQ

Желаю успехов


Наверх

Титульная страница Поиск, карта сайта Написать письмо