delphi 关闭时缩小到托盘_delphi 实现最小化系统托盘

本文介绍了如何使用Delphi将应用程序在关闭时缩小到系统托盘,通过创建TNotifyIcon,处理WM_SYSCOMMAND和WM_TRAYMSG消息,实现在点击关闭按钮时隐藏窗体并显示在托盘区域,以及响应托盘区的鼠标点击事件。
摘要由CSDN通过智能技术生成

1、new -->application

2、在form1中加入一个tPopMenu 命名为pm1

3、uses ShellAPI;

4、定义一个常量在

const

WM_TRAYMSG = WM_USER + 101;

5、在private中生命变量

NotifyIcon: TNotifyIconData;

6.声明两个消息

procedure TfrmMain.WMSysCommand(var Msg: TMessage);

begin

if Msg.WParam = SC_ICON then

Self.Visible := False

else

DefWindowProc(Self.Handle, Msg.Msg, Msg.WParam, Msg.LParam);

end;

procedure TfrmMain.WMTrayMsg(var Msg: TMessage);//声明托盘消息

var

p: TPoint;

begin

case Msg.LParam of

WM_LBUTTONDOWN: Self.Visible := True; //显示窗体

WM_RBUTTONDOWN:

begin

SetForegroundWindow(Self.Handle); //把窗口提前

GetCursorPos(p);

pm1.Popup(p.X, p.Y);

end;

end;

end;

7、oncreate中

with NotifyIcon do

begin

cbSize := SizeOf(TNotifyIconData);

Wnd := Self.Handle;

uID := ;

uFlags := NIF_ICON + NIF_MESSAGE + NIF_TIP; //图标、消息、提示信息

uCallbackMessage := WM_TRAYMSG;

hIcon := Application.Icon.Handle;

szTip := 'erp服务';

end;

Shell_No

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值