Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.007 c
3-32707
Андрей Брусов
2002-03-20 18:22
2002.04.11
Настраиваемые отчеты


14-32961
Кулюкин Олег
2002-03-01 17:04
2002.04.11
Кому какие англоязычные конференции нравятся?


3-32665
tovSuhov
2002-03-20 12:05
2002.04.11
Oracle Pipes


6-32932
Victor
2002-01-25 16:15
2002.04.11
Широковещательные сообщения по сети


3-32632
Mitya
2002-03-18 14:00
2002.04.11
sql запрос





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский