![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Приложение - Агент [D3, D5, Win95/98]
DelBoy © (2001-12-15 21:05:00)Т.е. как создать приложение, корое будет, подобно времени, AVP, и тд работать постоянно и показываться как агент в менюшки с низу с лева
Just (2002-02-12 16:21:00) [1]Работает ! Спасибо!
Just (2002-02-12 16:03:00) [2]Почему не работает?
Dimaond Cat (2001-12-19 01:18:00) [3]Есть такая штука как RxLib, это сборище компонентов которых нет (или не удачны) в стандартной поставке дельфи, вот о чем говорилось выше
но если не хочется пользоваться компонентами то вот работающий кусок кода
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs ,
shellapi, Menus, ExtCtrls, StdCtrls;
// {shellapi добавлено вручную}
// Добавляем наше сообщение
const
wm_IconMessage = wm_User+12;
type
TForm1 = class(TForm)
PopupMenu1: TPopupMenu;
N1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure N1Click(Sender: TObject);
private
nid: TNotifyIconData; // Подключаем структуру значка
{ Private declarations }
public
// Проседура обрабатывающая наше сообщение от значка
procedure IconTray (var Msg: TMessage);
message wm_IconMessage;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Icon.Handle :=Application.Icon.Handle; // Загружаем изображенияе значка
nid.cbSize := sizeof (nid);//Задаем размер значка соответсвенный его структуре
nid.wnd := Form1.Handle; // Кто обрабатывает сообщения от значка
nid.uID := 1; // icon ID
nid.uCallBAckMessage := wm_IconMessage; // Задаем сообщение которое посылает наш значек обработчику когда над ним происходят действия
nid.hIcon := Icon.Handle;
nid.szTip := "Всплывающая Надпись";
nid.uFlags := nif_Message or
nif_Icon or nif_Tip; //Задаем флаги
Shell_NotifyIcon (NIM_ADD, @nid); //Собственно включаем значек
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
//При закрытии программы значек следует убить
nid.uFlags := 0;
Shell_NotifyIcon (NIM_DELETE, @nid);
end;
procedure TForm1.IconTray (var Msg: TMessage);
var
Pt: TPoint;
begin
GetCursorPos (Pt);
//Получаем и обрабатываем сообщение от значка
if Msg.lParam = WM_RBUTTONUP then
begin
SetForegroundWindow (Form1.handle);
PopupMenu1.Popup (Pt.x, Pt.y);
end;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
//Делаем нечто
end;
end.
panov (2001-12-18 20:50:00) [4]Где есть ответ:
1. FAQ
2. Статьи
DelBoy (2001-12-18 19:28:00) [5]Ни чего не понимаю :(
А пример можно? :)
Вадим (2001-12-16 13:03:00) [6]Юзай TRxTrayIcon из RxLib (доп. библиотека)
DelBoy (2001-12-16 12:05:00) [7]Мм... не понял, можно с каким нибудь примером, просто RxLib мне ни о чем не говорит :(
KilkennyCat (2001-12-16 06:20:00) [8]Очень просто. RxLib