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;
    其實,知道了什么時候是按下了窗體最小化等按鈕的處理,其它的就很清楚了.

  • 相关阅读:
    树形结构的数据库表Schema设计-基于左右值编码
    windows下的coreseek安装及PHP调用入门
    C#string详解
    C#(Wpf)实现小键盘
    c#实现任务栏添加控制按钮
    c#解析Lrc歌词文件
    wpf仿QQ之窗体翻转
    C#(wpf)迷你词典
    wpf常见枚举收集
    最新百度音乐api
  • 原文地址:https://www.cnblogs.com/see7di/p/2240077.html
Copyright © 2011-2022 走看看