Delphi 最小化程序到任务栏托盘 增加右键PopMenu
2024-08-21 12:36:10
在做中间层时,中间层往往不需要点击关闭时立刻关闭,而是最小化到托盘。故而特意隐藏关闭按钮功能。
1)隐藏退出功能 用PopMenu退出菜单代替
1.增加popMenu退出菜单,绑定到窗体
2.增加变量控制是否真的退出b_isClose;//True 退出 False 不退出
- b_isClose:Boolean; //True 退出 False 不退出
3.初始化b_isClose 在FormCreate或者FormShow事件中初始化 设置为False
- procedure TForm1.FormShow(Sender: TObject);
- begin
- b_isClose:=False;
- end;
4.PopMenu增加退出事件
- procedure TForm1.pmExitClick(Sender: TObject);
- begin
- b_isclose := true;//设置为真正退出
- Close;//调用系统退出事件 响应函数 FormClose
- end;
5.退出时依据是否真正退出做处理
- procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
- begin
- if b_isclose then
- begin
- action := cafree;//真正退出
- end
- else
- begin
- action := canone;//修改事件类型不退出
- end;
- end;
2)最小化到托盘
修改FormClose事件,增加语句:
- Application.Minimize;//最小化应用
如下:
- procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
- begin
- if b_isclose then
- begin
- action := cafree;//真正退出
- end
- else
- begin
- action := canone;//修改事件类型不退出
- Application.Minimize;//最小化应用
- end;
- end;
3) 增加托盘中右键弹出菜单
1.安装拖放增加第三方控件TRzTrayIcon到界面, 取名:
- RzTrayIcon1: TRzTrayIcon;
2. 修改FormClose事件,增加语句:
- RzTrayIcon1.PopupMenu := pmFrmMenu;//绑定右下角PopMenu
最终如下:
- procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
- begin
- if b_isclose then
- begin
- action := cafree;//真正退出
- end
- else
- begin
- action := canone;//修改事件类型不退出
- Application.Minimize;//最小化应用
- RzTrayIcon1.PopupMenu := pmFrmMenu;//绑定右下角PopMenu
- end;
- end;
最新文章
- block为什么用copy以及如何解决循环引用
- 安卓xml文件中常见的问题
- struts2 国际化的一个日期封装bug
- struts(二) ---中参数传值
- return, exit, _exit的区别
- [转]40多个关于人脸检测/识别的API、库和软件
- KMP_Best Reward
- HDOJ 1879
- Model Thinking1
- TaskMgr C#技术拾遗
- 【转】C++ stringstream介绍,使用方法与例子
- Codeforces 18C C. Stripe
- xssless - 自动化的XSS payload攻击器
- Head First 设计模式 第6章 命令模式
- SignalR简单Demo
- C语言指针作业
- SFTP工具类
- 目标检测(五)YOLOv1—You Only Look Once:Unified,Real-Time Object Detection
- 3.1链表----链表(Linked List)入门
- Linux内核设计期中总结