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

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

Приложение - Агент [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


Наверх

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