发信人: pazee@GZ()
整理人: teleme(2001-03-29 21:54:06), 站内信件
|
标 题: Re: 求一任务栏程序示例,谢谢 。 发信站: 网易虚拟社区 (Wed Sep 27 09:14:34 2000), 站内信件
【 在 gzm (阿甘) 的大作中提到: 】
: 我想找个任务栏程序(就象声卡音量控制程序那样的)示例来学习一下,
: 不知何处有,谢谢。
:
你看简单不?
我还截获了最下化的消息,最小化是就变成了trayicon图标了
const
TRAY_ICON = 0;
WM_TRAYNOTIFY = WM_USER + 1000;
type
TForm1 = class(TForm)
Button1: TButton;
PopupMenu1: TPopupMenu;
Show1: TMenuItem;
Exit1: TMenuItem;
About1: TMenuItem;
procedure Button1Click(Sender: TObject);
procedure Show1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
tnd: NOTIFYICONDATA;
procedure MyWindowProc(var Message: TMessage);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.MyWindowProc(var Message: TMessage);
var
p:tpoint;
begin
case Message.Msg of
WM_TRAYNOTIFY: begin
case Message.LParam of
WM_RBUTTONDOWN: begin
GetCursorPos(p);
self.BringToFront;
PopupMenu1.Popup(p.x, p.y);
PostMessage(0,0,0,0);
end;
WM_LBUTTONDBLCLK:
Show1.Click;
end;
end;
WM_SYSCOMMAND: begin
if (Message.WParam = SC_MINIMIZE) then
Button1.Click
else
Inherited WndProc(Message);
end
else
Inherited WndProc(Message);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
tnd.cbSize:= sizeof(NOTIFYICONDATA);
tnd.Wnd:= self.Handle;
tnd.uID:= TRAY_ICON;
tnd.uFlags:= NIF_MESSAGE or NIF_ICON or NIF_TIP;
tnd.uCallbackMessage:= WM_TRAYNOTIFY;
tnd.hIcon:= self.Icon.Handle;
tnd.szTip:= '小花';
if Shell_notifyIcon(NIM_ADD, @tnd) then
begin
Self.Hide;
end;
end;
procedure TForm1.Show1Click(Sender: TObject);
begin
Self.Show;
Shell_notifyIcon(NIM_DELETE, @tnd);
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// Caption:= IntToStr(PopupMenu1.WindowHandle);
PopupMenu1.WindowHandle:= 0;
WindowProc:= MyWindowProc;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Shell_NotifyIcon(NIM_DELETE, @TND);
end;
end.
-- .------------------------------------------------.
| |
| 英特那雄乃尔就一定要实现! ... |
| /(. .)\ |
`---------------------------------ooO--(_)--Ooo--'
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.105.149.165]
|
|