Форум: "Начинающим";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
ВнизСворачивание программ в трей Найти похожие ветки
← →
dommin (2006-07-06 14:24) [0]Как свернуть прогу в трей в Delphi 6?
← →
PSPF2003 © (2006-07-06 14:48) [1]Использовать компонент
← →
Footballer © (2006-07-06 14:50) [2]Заходишь на http://www.torry.net/ в Quick Search вводишь "CoolTrayIcon" и скачиваешь компонент для сворачивания проги в трей
← →
Handle (2006-07-06 16:33) [3]
ses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ShellAPI;
const
WM_NOTIFYTRAYICON = WM_USER + 1;
type
TForm1 = class(TForm)
PopupMenu1: TPopupMenu;
Exit: TMenuItem;
ShowForm: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormDestroy(Sender: TObject);
procedure ExitClick(Sender: TObject);
procedure ShowFormClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
procedure WMTRAYICONNOTIFY(var Msg: TMessage); message WM_NOTIFYTRAYICON;
procedure OnMinimizeProc(Sender: TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
MayClose: boolean=false;
implementation
{$R *.dfm}
procedure TForm1.OnMinimizeProc(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.WMTRAYICONNOTIFY(var Msg: TMessage);
begin
case Msg.LParam of
WM_RBUTTONUP:
begin
SetForegroundWindow(Application.MainForm.Handle);
PopupMenu1.Popup(Mouse.CursorPos.X , Mouse.CursorPos.Y );
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Tray: TNotifyIconData;
begin
Application.OnMinimize:= OnMinimizeProc;
with Tray do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Handle;
uID := 1;
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallBackMessage := WM_NOTIFYTRAYICON;
hIcon := Application.Icon.Handle;
szTip := ("My Program");
end;
Shell_NotifyIcon(NIM_ADD, Addr(Tray));
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MayClose = false then
begin
CanClose:= false;
MayClose:= true;
Form1.Hide;
end
else
begin
CanClose:= true;
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
var
Tray: TNotifyIconData;
begin
with Tray do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Handle;
uID := 1;
end;
Shell_NotifyIcon(NIM_DELETE, Addr(Tray));
end;
procedure TForm1.ExitClick(Sender: TObject); //PopupMenu
begin
MayClose:= true;
Form1.Close;
end;
procedure TForm1.ShowFormClick(Sender: TObject); //PopupMenu
begin
MayClose:= false;
Form1.Show;
Application.BringToFront;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Application.Restore;
end;
← →
Lamer@fools.ua © (2006-07-07 10:43) [4]http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988624981&n=15
← →
Desdechado © (2006-07-07 10:57) [5]а что, в дельфи 6 есть трей?
← →
PSPF2003 © (2006-07-07 11:09) [6]
> а что, в дельфи 6 есть трей?
Прочти вопрос еще раз
← →
Desdechado © (2006-07-07 11:14) [7]PSPF2003 © (07.07.06 11:09) [6]
чрезмерная серьёзность не украшает :)
я-то тоже смайл забыл поставить
← →
PSPF2003 © (2006-07-07 11:16) [8]Ладно за тебя и за себя :) :) :) :)
← →
filh (2006-07-10 13:42) [9]RxLib
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c