• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

截断WM_SYSCOMMAND的SC_CLOSE命令(VC与Delphi双版本)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

WM_SYSCOMMAND - 系统命令消息,当点击最大化按钮,最小化按钮,关闭按钮等。都会收到这个消息。常用于窗口关闭时提示用户处理。
WPARAM - 具体的命令,例如 关闭 SC_CLOSE
LPARAM - 鼠标的位置
LOWORD - 低16位 ,水平位置。
HIWORD - 高16位 ,垂直位置。

case WM_SYSCOMMAND:
if( wParam == SC_CLOSE ){
    int nRet = MessageBox( NULL, "是否关闭", "Infor", MB_YESNO );
    if( nRet != IDYES ){
        return 0;
    }else
    {
        PostQuitMessage( 0 );
    }
}
break;

参考:http://blog.csdn.net/kaishang0713/article/category/1732423/2

---------------------------------------------------------------------------------

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
    procedure WndProc(var AMessage:TMessage);override;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WndProc(var AMessage: TMessage);
begin
  if (AMessage.Msg=WM_SYSCOMMAND) and (AMessage.WParam=SC_CLOSE) then
    Exit
  else
    inherited;
end;

end.

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Ubuntu18.04安装破解版MATLAB2018b发布时间:2022-07-18
下一篇:
Matlab - Matlab 2016a 安装破解教程发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap