zoukankan      html  css  js  c++  java
  • delphi點擊窗體最小化,關閉按鈕時的托盤圖標設置

    判斷窗體是否按下最小化等按鈕時,可以截取鼠標按下按鈕時的消息.下面有2種方法可以做到.轉自Delphi共和國--<<如何判斷鼠標按下了窗體最小化按鈕>>:
    方法一:截获 WM_SYSCOMMAND消息,看窗体是否处于最小化状态
    type
    TForm1 = class(TForm)
    private
    procedure WMSysCommand(var Message: TMessage); message WM_SYSCOMM
    AND;
    //...
    end;
    implementation
    {$R *.DFM}
    procedure TForm1.WMSysCommand(var Message:TMessage);
    begin
    if Message.WParam = SC_ICON then //最小化了.最大化 SC_ZOOM,關閉:SC_CLOSE
    begin
    //form1.hide; ...
    end
    else
    inherited;//很重要的.上次就是因為沒加這句,導致窗體不能拖動等問題
    end;

    方法二,直接判断是否点了窗体非客户区的最小化按钮
    type
    TForm1 = class(TForm)
    private
    procedure Minimize(var mess:TWMNCLBUTTONDOWN);message WM_NCLBUTTON
    DOWN;
    //...
    end;
    implementation
    {$R *.DFM}
    procedure TForm1.Minimize(var mess:TWMNCLBUTTONDOWN);
    begin
    if mess.hittest=htreduce then //htreduce表示是否按了最小化按钮.關閉:HTCLOSE
    begin
    //Form1.hide; ...
    end
    else
    inherited;//同樣重要
    end;
    其實,知道了什么時候是按下了窗體最小化等按鈕的處理,其它的就很清楚了.

  • 相关阅读:
    二叉搜索树
    【树】List Leaves
    模板——dijkstra单源最短路
    余数求和——除法分块
    倍增——ST表
    线段树——内存池
    线段树——模板
    洛谷 P1498 南蛮图腾
    洛谷 P2199 最后的迷宫
    洛谷 P1495 中国剩余定理
  • 原文地址:https://www.cnblogs.com/see7di/p/2240077.html
Copyright © 2011-2022 走看看