Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.11;
Скачать: CL | DM;

Вниз

Приложение - Агент   Найти похожие ветки 

 
Dimaond Cat ©   (2001-12-19 01:18) [6]

Есть такая штука как 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.



Страницы: 1 вся ветка

Текущий архив: 2002.04.11;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.012 c
7-32989
Ura
2002-01-18 12:46
2002.04.11
Определение принтера в системе


3-32617
dr
2002-03-21 16:35
2002.04.11
вопрос по SQL


1-32726
LazorenkoX
2002-03-30 00:26
2002.04.11
SendMessage or What?


1-32831
RM
2002-03-26 00:04
2002.04.11
Как заменить иконку проекта на свою Bitmap?


3-32698
kjj
2002-03-21 15:32
2002.04.11
что писать в UpdateSQL?