zoukankan      html  css  js  c++  java
  • Delphi 最小化程序到任务栏托盘 增加右键PopMenu

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

           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;  
  • 相关阅读:
    Cocos2d-x 3.0 事件系统【转】
    cocos2d-x中false,setSwallowTouches,stopPropagation的区别
    类成员函数指针 ->*语法剖析
    cocos2d-lua 3.5 ios搭建步骤
    cocos2d-lua 3.5 android搭建步骤
    cocos2d-lua 3.5 android搭建常见错误
    结构体
    乒乓球(0)<P2003_1>
    不高兴的津津(0)<P2004_1>
    陶陶摘苹果(0)<P2005_1>
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/8628923.html
Copyright © 2011-2022 走看看