码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2018-03-23 11:38:56      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:绑定   第三方   点击   sdn   任务   menu   form   pop   get   

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

       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);  
  2. begin  
  3.    b_isClose:=False;  
  4. end;  


            4.PopMenu增加退出事件 

 

 

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


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

 

 

[delphi] view plain copy
 
  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事件,增加语句:

 

[delphi] view plain copy
 
  1. Application.Minimize;//最小化应用  

 

        如下:

[delphi] view plain copy
 
  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到界面, 取名:

[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);  
    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;  

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

标签:绑定   第三方   点击   sdn   任务   menu   form   pop   get   

原文地址:https://www.cnblogs.com/h2zZhou/p/8628923.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!