首先介绍一下WindowProc函数。

函数功能:该函数是一个应用程序定义的函数。它处理发送给窗口的消息。WNDPROC类型定义了一个指向该回调函数的指针。WindowProc是用于应用程序定义函数的占位符。

函数原型:

LRESULT CALLBACK WindowProc (HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM IParam);

参数:

hwnd:指向窗口的句柄。

uMsg:指定消息类型。

wParam:指定其余的、消息特定的信息。该参数的内容与UMsg参数值有关。

IParam:指定其余的、消息特定的信息。该参数的内容与uMsg参数值有关。

返回值:返回值就是消息处理结果,它与发送的消息有关。

通过重写这个函数,我们可以自定义窗口消息响应。

  1. LRESULT CCheckUpdatealpha1Dlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
    {
    // TODO: 在此添加专用代码和/或调用基类
    switch(message)
    {
    //如果是系统消息
    case WM_SYSCOMMAND:
    {
    if(wParam==SC_CLOSE)
    {
    //接收到最小化消息时主窗口隐藏
    AfxGetApp()->m_pMainWnd->ShowWindow(SW_HIDE);
    return 0;
    }
    break;
    }
    }
    return CDialog::WindowProc(message, wParam, lParam);
    }

      

通过这段代码,当单击右上角的关闭按钮式,窗口只是隐藏了,而不是销毁。

MFC重载关闭按钮的更多相关文章

  1. 如何让MFC程序关闭按钮失效,也无法右击任务栏关闭窗口来关闭?

    如何让MFC程序关闭按钮失效,也无法右击任务栏关闭窗口来关闭,即右键任务栏的关闭窗口失效呢?很简单,有一个小窍门就是:响应IDCANCEL消息,具体实现如下: 首先定义消息映射:ON_BN_CLICK ...

  2. MFC禁用关闭按钮

    有时候我们在写MFC程序时,需要在对话框中开启线程处理一些事情,如果在线程执行过程中点击关闭按钮,会导致程序崩溃. 这里介绍一种解决方法,禁用关闭按钮 解决方法 开启线程前禁用关闭按钮 CMenu* ...

  3. mfc 重载赋值运算符

    重载赋值运算符= 一.重载运算符格式 返回类型 operator 运算符 (参数); 如: bool operator=(char*s); int operator>(char*s); bool ...

  4. MFC 重载退出(窗口顶上最右边的x按钮)

    其实可以在*Dlg.cpp中的BEGIN_MESSAGE_MAP中对IDCANCEL和自定义函数进行匹配就可以了. 如: 自定义的退出函数是OnClose(),则在BEGIN_MESSAGE_MAP中 ...

  5. 我的MFC/C++学习笔记 http://blog.bccn.net/CrystalFan/6909

    2009.07.31 ------------------------------------------------------------------------------------ No.1 ...

  6. MFC文件IO和串行化

    一. MFC中CFile对象实现了磁盘文档的读写,但是大部分MFC应用程序的IO服务都使用CArchive对象来完成.不管CFile和Archive输入输出的都是二进制数据,非文本数据. int a ...

  7. MFC【6】文件I/O和串行化

    文件输入和输出(I/O)服务是所有操作系统的主要工作.Microsoft Windows提供了各种API函数用来读.写和操作磁盘文件.MFC将这些桉树和CFile类融合在面对对象的模型里.其中CFil ...

  8. Pyqt 窗体间传值

    窗体间传值网上有好多方法,比如新建文件,先将子类窗体的数据传到文件中,父窗体读取文件.  Signal&Slot机制进行传值 等等 在这里,我们就举个采用apply方法:Signal& ...

  9. C++ 文件操作(CFile类)

    原文:文件操作(CFile),C吉羊 一.Visual C++编程文件操作 有如下方法可进行操作: (1)使用标准C运行库函数,包括fopen.fclose.fseek等. (2)使用Win16下的文 ...

随机推荐

  1. Android 计算器UI-TableLayout

    表格布局(TableLayout) <?xml version="1.0" encoding="utf-8"?> <TableLayout x ...

  2. qt搭建环境

    1 用viewteam实现远程控制电脑.可以在家里继续操作办公电脑了. http://blog.csdn.net/sch0120/article/details/38324599 2qt环境安装.今天 ...

  3. HDU 4352 XHXJ's LIS

    奇妙的题. 你先得会另外一个nlogn的LIS算法.(我一直只会BIT.....) 然后维护下每个数码作为结尾出现过没有就完了. #include<iostream> #include&l ...

  4. BZOJ 2286 树链剖分+DFS序+虚树+树形DP

    第一次学习虚树,就是把无关的点去掉.S里维护一条链即可. #include <iostream> #include <cstring> #include <cstdio& ...

  5. Counting Sequences_线段树***

    Description For a set of sequences of integers{a1,a2,a3,...an}, we define a sequence{ai1,ai2,ai3...a ...

  6. C#代码示例_集合

    C#中数组实现为System.Array类得实例,它们只是集合类(Collection Classes)中的一种类型. 索引符(indexer)是一种特殊类型的属性,可以把它添加到一个类中,以提供类似 ...

  7. C#中用schema验证xml的合法性

    class ValidateXML { public string ErrString = string.Empty; public void ValidationEventCallBack(Obje ...

  8. PHP操作Excel – PHPExcel 基本用法详解

    导出excel属性设置//Include classrequire_once('Classes/PHPExcel.php');require_once('Classes/PHPExcel/Writer ...

  9. 搜狗输入法弹出搜狐新闻的解决办法(sohunews.exe)

    狗输入法弹出搜狐新闻的解决办法(sohunews.exe) 1.找到搜狗输入法的安装目录(一般是C:\program files\sougou input\版本号\)2.右键点击sohunews.ex ...

  10. Scalding初探之二:动手来做做小实验

    输入文件 Scalding既可以处理HDFS上的数据,也可以很方便地在本地运行处理一些test case便于debug,Source有好多种 1 TextLine(filename) TextLine ...