Форум: "Система";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
Внизпомогите с TrayIcon Найти похожие ветки
← →
VladTen (2002-10-30 11:06) [0]Подскажите пожалуйста, как создать TrayIcons и PopupMenu к нему. Если есть у кого Example или ссылка на него, то напишите пожалуйста. Заранее благодарен.
← →
Opuhshii (2002-10-30 12:06) [1]в факе, на sources.ru ... в хелпе,..
← →
Геннадий (2002-11-02 21:46) [2]Вот исходник, форму сам сделай. Удачи!
======================
unit TrayUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellAPI, ImgList, Buttons, ExtCtrls, Menus;
const WM_Icon = WM_User+999;
type
TTrayForm = class(TForm)
ImageList1: TImageList;
HideBitBtn: TBitBtn;
HideTimer: TTimer;
TrayPopupMenu: TPopupMenu;
N_Show: TMenuItem;
N_Exit: TMenuItem;
N1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure HideBitBtnClick(Sender: TObject);
procedure HideTimerTimer(Sender: TObject);
procedure N_ShowClick(Sender: TObject);
procedure N_ExitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure WMIcon(var Msg: TMessage); message WM_Icon;
end;
const
Ico_Num = 1;
var
TrayForm: TTrayForm;
implementation
{$R *.dfm}
procedure TTrayForm.FormCreate(Sender: TObject);
var
Info: TNotifyIconData;
Ico : TIcon;
begin
Ico:= TIcon.Create;
ImageList1.GetIcon(0, Ico);
Info.cbSize:= SizeOf(TNotifyIconData);
Info.Wnd:= Self.Handle;
Info.uID:= Ico_Num;
Info.uFlags:= nif_Icon or nif_Tip or nif_Message;
Info.hIcon:= Ico.Handle;
Info.szTip:= "This is TIP";
Info.uCallbackMessage:= WM_Icon;
Shell_NotifyIcon(nim_Add, @Info);
Ico.Free;
end;
procedure TTrayForm.WMIcon(var Msg: TMessage);
begin
If (Msg.WParam = Ico_Num) and (Msg.LParam = WM_RButtonDown)
then TrayPopupMenu.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
end;
procedure TTrayForm.FormDestroy(Sender: TObject);
var
Info: TNotifyIconData;
begin
Info.cbSize:= SizeOf(TNotifyIconData);
Info.Wnd:= Self.Handle;
Info.uID:= Ico_Num;
Shell_NotifyIcon(nim_Delete, @Info);
end;
procedure TTrayForm.HideBitBtnClick(Sender: TObject);
begin
HideTimer.Enabled:= True;
end;
procedure TTrayForm.HideTimerTimer(Sender: TObject);
begin
HideTimer.Enabled:= False;
TrayForm.Hide;
end;
procedure TTrayForm.N_ShowClick(Sender: TObject);
begin
TrayForm.Show;
end;
procedure TTrayForm.N_ExitClick(Sender: TObject);
begin
Application.Terminate;
end;
end.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c