当前位置: 论文资料 >> 计算机论文 >> 计算机应用 >> 系统托盘的编程
系统托盘的编程


     begin
       GetCursorPos(CursorPos);
{      Popupmenu1.Popup(CursorPos.X,CursorPos.Y);
       popupmen1里面就可以加入显示主窗口、退出等功能。这个右键菜单可以是静态的,如上面一句来弹出;也可以动态建立,如下面所示的方法:}
       pm := createpopupmenu;//建立一个Hmenu,pm:hmenu;
       AppendMenu(pm,0,ord('A'),'关于....');//在指定的菜单里添加一个菜单项
       AppendMenu(pm,0,Ord('B'),'&Exit');
       //加入菜单事件---》处理WMCOMMAND消息即可
       TrackPopupMenu(pm,Tpm_BottomAlign or Tpm_RightAlign, CursorPos.x, CursorPos.y, 0,handle,nil);
       //在图标上方显示该弹出式菜单
     end ;
   end ;
end;

procedure TForm1.WMCommand(var msg : TWMCommand);
begin
   Case msg.ItemID of
     Ord('A') : showmessage('我的右键菜单!');
     Ord('B') : Self.close;//关闭程序主窗体
     else inherited;
   end;
end;

procedure Tform1.Minimize(var mess:TWMNCLBUTTONDOWN);//应用程序最小化消息处理
begin
   if Mess.Hittest = htReduce then
     Self.Hide
   else inherited;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var              {程序被关闭时通知Windows去掉小图标}
   nid: TNotifyIconData;
begin
   nid.cbSize := sizeof(nid); // nid变量的字节数
   nid.uID := 1; //内部标识,与加入小图标时的数一致
   nid.Wnd := Handle; //主窗口句柄
   Shell_NotifyIcon(NIM_DELETE, @nid); //去掉小图标
end;

上一页  [1] [2]