• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi最小化托盘

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
2009-07-16 11:30

uses ShellAPI;

const
    WM_BARICON=WM_USER+200;
    sc_DragMove:longint=$F012;
    WM_ACTIVE_CLIENT = WM_USER + 1000;

public

procedure message WM_SYSCOMMAND;
proceduremessage WM_BARICON;

procedure
var



begin
if Message.WParam = SC_CLOSE then //关闭窗口
begin
    Client.Close;
    exit;
end;
if Message.WParam = SC_ICON then //最小化到托盘区
    begin
    //如果用户最小化窗口则将窗口隐藏并在任务栏上添加图标
      lpData := new(PNotifyIconDataA);
      lpData.cbSize := 88;
     // SizeOf(PNotifyIconDataA);
      lpData.Wnd := Client.Handle;
      lpData.hIcon := application.Icon.Handle;
      lpData.uCallbackMessage := WM_BARICON;
      lpData.uID :=0;
      lpData.szTip := '紫金软件';
      lpData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
      Shell_NotifyIcon(NIM_ADD,lpData);
      dispose(lpData);
      Client.Visible := False;


end
else
begin
//如果是其它的SystemCommand消息则调用系统缺省处理函数处理之。
    DefWindowProc(Handle,Message.Msg,Message.WParam,Message.LParam);

end;
end;


var

begin
//if (Message.LParam = WM_RBUTTONDOWN) then //鼠标右键
if (Message.LParam = WM_LBUTTONDOWN) then
begin
//如果用户点击任务栏图标则将图标删除并回复窗口。
    lpData := new(PNotifyIconDataA);
    lpData.cbSize := 88;//SizeOf(PNotifyIconDataA);
    lpData.Wnd := Client.Handle;
    lpData.hIcon := application.Icon.Handle;
    lpData.uCallbackMessage := WM_BARICON;
    lpData.uID :=0;
    lpData.szTip := '紫金软件';
    lpData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
    Shell_NotifyIcon(NIM_DELETE,lpData);
    dispose(lpData);
    Client.Visible := True;

 

end;
end;


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
delphifastmm4调试发布时间:2022-07-18
下一篇:
[转载]Delphi7.0开发OPC客户端程序(Siemens_Opc_client) - 科技猫发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap