Форум: "WinAPI";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
ВнизХочу прогамму в Tray положить Найти похожие ветки
← →
Igor_thief (2002-02-11 16:31) [5]Я игрался с этим вопросиком и вот что у меня получилось:
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellApi, Menus;
type
TForm1 = class(TForm)
PopupMenu1: TPopupMenu;
Show1: TMenuItem;
Exit1: TMenuItem;
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Show1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
{ Private declarations }
public
procedure OnMinimizeEvt(Sender:TObject);
procedure OnMess(var Msg:TMessage);message wm_app+1;
end;
var
Form1: TForm1;
Tray:TNotifyIconData;
implementation
{$R *.dfm}
procedure TForm1.OnMinimizeEvt(Sender:TObject);
begin
{Скрываем показание кеопки с таскбара}
ShowWindow(Application.Handle,SW_HIDE);
{Забрасываем приложение в трей}
with Tray do
begin
cbSize:=sizeof(Tray);
Wnd:=Handle;
uID:=0;
uFlags:=NIF_MESSAGE or NIF_ICON or NIF_TIP;
hIcon:=Application.Icon.Handle;
uCallbackMessage:=WM_APP+1;
szTip:="Masterpiece";
end;
Shell_NotifyIcon(NIM_ADD,@Tray);
end;
procedure TForm1.OnMess(var Msg:TMessage);
begin
if Msg.lParam=WM_RBUTTONUP then
PopupMenu1.Popup(Mouse.CursorPos.X,Mouse.CursorPos.y);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
{Уничтожаем иконку из трея}
with Tray do
begin
cbSize:=sizeof(Tray);
Wnd:=Handle;
uID:=0;
uFlags:=0;
hIcon:=0;
uCallbackMessage:=WM_APP+1;
end;
Shell_NotifyIcon(NIM_DELETE,@Tray);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMinimize:=OnMinimizeEvt;
end;
procedure TForm1.Show1Click(Sender: TObject);
begin
{Вывод главной формы}
ShowWindow(Application.Handle,SW_SHOWNOACTIVATE);
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
Form1.Release;
end;
end.
-------------------------
Это пример как сворачивать окно при нажатии кнопки минимизации и есть работа с popupmenu. Ghb минимизации форма находится только в трее. Если нужен архив с исходником, то свисни. Чтобы написать этот исходник, мне пришлось разобрать кучу подобных, разобраться в них и создать свойю Лично мне мой исходник очень нравится. Я вот хочу есщё компонент создать, который будет кидать прогу в трей.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c