在做中间层时,中间层往往不需要点击关闭时立刻关闭,而是最小化到托盘。故而特意隐藏关闭按钮功能。

1)隐藏退出功能 用PopMenu退出菜单代替

1.增加popMenu退出菜单,绑定到窗体

2.增加变量控制是否真的退出b_isClose;//True 退出 False 不退出

  1. b_isClose:Boolean; //True 退出 False 不退出

3.初始化b_isClose    在FormCreate或者FormShow事件中初始化 设置为False

  1. procedure TForm1.FormShow(Sender: TObject);
  2. begin
  3. b_isClose:=False;
  4. end;

4.PopMenu增加退出事件

  1. procedure TForm1.pmExitClick(Sender: TObject);
  2. begin
  3. b_isclose := true;//设置为真正退出
  4. Close;//调用系统退出事件 响应函数 FormClose
  5. end;

5.退出时依据是否真正退出做处理

  1. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  2. begin
  3. if b_isclose then
  4. begin
  5. action := cafree;//真正退出
  6. end
  7. else
  8. begin
  9. action := canone;//修改事件类型不退出
  10. end;
  11. end;

2)最小化到托盘

修改FormClose事件,增加语句:

  1. Application.Minimize;//最小化应用

如下:

  1. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  2. begin
  3. if  b_isclose then
  4. begin
  5. action := cafree;//真正退出
  6. end
  7. else
  8. begin
  9. action := canone;//修改事件类型不退出
  10. Application.Minimize;//最小化应用
  11. end;
  12. end;

3) 增加托盘中右键弹出菜单

1.安装拖放增加第三方控件TRzTrayIcon到界面, 取名:

  1. RzTrayIcon1: TRzTrayIcon;

2. 修改FormClose事件,增加语句:

  1. RzTrayIcon1.PopupMenu := pmFrmMenu;//绑定右下角PopMenu

最终如下:

    1. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    2. begin
    3. if b_isclose then
    4. begin
    5. action := cafree;//真正退出
    6. end
    7. else
    8. begin
    9. action := canone;//修改事件类型不退出
    10. Application.Minimize;//最小化应用
    11. RzTrayIcon1.PopupMenu := pmFrmMenu;//绑定右下角PopMenu
    12. end;
    13. end;

最新文章

  1. block为什么用copy以及如何解决循环引用
  2. 安卓xml文件中常见的问题
  3. struts2 国际化的一个日期封装bug
  4. struts(二) ---中参数传值
  5. return, exit, _exit的区别
  6. [转]40多个关于人脸检测/识别的API、库和软件
  7. KMP_Best Reward
  8. HDOJ 1879
  9. Model Thinking1
  10. TaskMgr C#技术拾遗
  11. 【转】C++ stringstream介绍,使用方法与例子
  12. Codeforces 18C C. Stripe
  13. xssless - 自动化的XSS payload攻击器
  14. Head First 设计模式 第6章 命令模式
  15. SignalR简单Demo
  16. C语言指针作业
  17. SFTP工具类
  18. 目标检测(五)YOLOv1—You Only Look Once:Unified,Real-Time Object Detection
  19. 3.1链表----链表(Linked List)入门
  20. Linux内核设计期中总结

热门文章

  1. Sequence(ST表)(洛谷P2048)
  2. [bzoj1251]序列终结者——splay
  3. redis SCAN cursor
  4. k8s的service
  5. 删除某个ros包之后catkin_make冒错
  6. AC日记——曼哈顿交易 洛谷 P3730
  7. 利用ResultFilter实现asp.net mvc3 页面静态化
  8. 使用 gulp 压缩 CSS
  9. MySQL InnoDB MVCC深度分析
  10. ASP.NET中怎样将页面设为首页,加入收藏