这该怎么办??(100分)

  • 主题发起人 主题发起人 风云再起
  • 开始时间 开始时间

风云再起

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把我的程序放在托盘区
点最小化的按扭他实现了
但点任务栏时他并没实现
也就是象foxmail,netants....那样的
 
procedure TForm1.ModifyTrayIcon(Action: DWORD);
var
NIData: TNotifyIconData;
begin
with NIData do
begin
cbSize := sizeof(TNotifyIconData);
UID := 0;
uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
Wnd := Handle;
uCallBackMessage := WM_TRAYICON;
HICON := Application.Icon.Handle;
StrPCopy(szTip, Application.Title);
end;
Shell_NotifyIcon(Action, @NIData);
end;

procedure TForm1.WMTrayIcon(var message: TMessage);
var
MousePos: TPoint;
begin
if message.LPARAM = WM_RBUTTONDOWN then
begin
SetActiveWindow(Handle);
GetCursorPos(MousePos);
PopupMenu.Popup(MousePos.X, MousePos.Y);
end;
end;
 
lcl_003没理解我的意思
实现托盘很容易
我要的是怎样象netants,foxmail那样点任务栏他也能回到托盘区
 
放一个TApplicationEvents组件,在他的的OnMinimize里面写就可以了
 
那你就在最小化的事件里写啊
 
各位不要想当然了
自己试一下就知道了
 
程序启动时向系统托盘注册
在程序最小化时隐藏程序主窗口
 
Rx控件可以!
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1345922
关键问题出在消息作用的对象不同,一个是针对Application的,一个是针对当前Form的
 
HD_COPY:
还算明白我的意思,差不多了。
不过又出了新的问题,点宣示桌面的按牛他不能到托盘区去
 
后退
顶部