Delphi 最小化程序到任务栏托盘 增加右键PopMenu

http://blog.csdn.net/yangjian900109/article/details/51043094

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

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

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

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

[delphi] view plain

 copy

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

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

          

[delphi]

 view plain copy

  1. procedure

 TForm1

.

FormShow(Sender: TObject);  

  • begin

  

  •    b_isClose:=False;  
  • end

;  

            4.PopMenu增加退出事件 

[delphi]

 view plain copy

  1. procedure

 TForm1

.

pmExitClick(Sender: TObject);  

  • begin

  

  •    b_isclose := true

;

//设置为真正退出     

  

  •    Close;//调用系统退出事件 响应函数 FormClose

  

  • end

;  

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

[delphi]

 view plain copy

  1. 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事件,增加语句:

[delphi]

 view plain copy

  1. Application

.

Minimize;

//最小化应用

  

        如下:

[delphi]

 view plain copy

  1. 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到界面, 取名:

[delphi]

 view plain copy

  1.  RzTrayIcon1: TRzTrayIcon;  

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

[delphi]

 view plain copy

  1. RzTrayIcon1

.

PopupMenu := pmFrmMenu;

//绑定右下角PopMenu

  

         最终如下:

[delphi]

 view plain copy

  1. 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

;  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值