programming windows-----窗口与消息

1 篇文章 0 订阅
1 篇文章 0 订阅

1.消息处理函数

      作用:所谓的消息处理程序指的是对于windows程序是事件驱动的,由此需要消息处理程序来维护windows程序。当使用者更改windows窗口时,windows将此改变的消息发送到windows建立的消息队列中(或直接发送到相应的窗口消息处理程序中),然后等程序将消息发送到相应的窗口消息处理程序,消息处理程序将处理发送到相应的窗口,对其进行改变。

    函数:参数:窗口句柄,消息,消息参数,消息参数

  LRESULT CALLBACK WndProc(HWND hwnd, UINT message,  WPARAM  wParam, LPARAM lParam)        //所谓的CALLBACK指的是进行函数调用,函数的入栈方式,定义

//处#define CALLBACK   _stdcall 。对于LRESULT:  32-bit value returned from a window procedure or callback function,LRESULT指的是longresult即为

//长整形

{

     //处理感兴趣的消息

    switch(message)

   {

     case WM_DESTROY:

              PostQuitMessage(0);     //用户关闭窗口,窗口销毁,程序结束,退出消息循环

     return 0;
   }

  return ::DefWindowProc(hwnd, UINT, wParam, lParam)                 //将剩余的消息送到系统缺省的消息处理函数中

}


2.应用程序主函数 int WINAPI WinMain(HINSTANCE hInstance,  HINSTANCE hPrevInstance,  LPSTR szCmdLine, UINT iCmdShow)     //#define WINAPI _stdcall  该语句定

                                {  //定义了一个呼叫约定,包括如何生产机械码以在堆栈中放置函数呼叫的参数,许多windows函数呼叫为WINAPI。第一个参数被称为【执行实体句柄】,该

                                  //句柄唯一的标示该程序。

                                        static TCHAR szAppName[] = TEXT("HelloWin");        //窗口类名称, 在只有一个窗口的程序中,程序名称即为窗口类名称

                                        WNDCLASS    wndclass;              //定制窗口类结构

                                        wndclass,style  =  CS_HREDRAW | CS_VREDRAW

                                        wndclass.lpfnWndProc = WndProc;            // 窗口类别标识了处理窗口消息的窗口消息处理程序,lpfn前缀指的是指向函数的长指标

                                        wndclass.cbClsExtra = 0;                              //为窗体类别结构预留一些额外空间

                                        wndclass.cbWndExtra = 0;                            //windows 内部保存的窗体结构中预留一些额外空间   ,且cb前缀指的是字节数

                                        wndclass.hInstance = hInstance;               //获得程序的实体执行句柄。

                                       

                                }












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容简介   《MFC Windows程序设计(第2版)》是对其极为经典的第1版的全面更新,本书不仅扩展了已被认为是权威的关于Microsoft用于Windows API的功能强大的C++类库的阐述,还新增了有关COM、OLE和ActiveX的内容。本书的作者,Jeff Prosise,用其无与伦比的技巧向读者讲述了MFC程序设计中的基本概念和主要技术——再次阐释了在32位Windows平台上进行了快速的面向对象开发的完美方法。   本书涵盖了以下专题:   事件驱动程序设计和MPC的基础知识   文档/视图体系结构   位图、调色板和区域   多线程和线程同步   MFC与组件对象模型(COM)   ActiveX控件 作者简介   Jeff Prosise是一位作者、教员和讲师,他以Windows编程和教授别人如何进行Windows为生。作为一位在Windows程序设计、MFC和COM领域世界知名的权威,他还是《PC Magazinge》和《Microsoft Systems Journal》杂志的组稿编辑。 目录   序言   第Ⅰ部分 Windows和MFC基础   第1章 Hello,MFC   第2章 在窗口中绘图   第3章 鼠标和键盘   第4章 菜单   第5章 MFC集合数   第6章 文件I/O和串行化   第7章 控件   第8章 对话框和属性表   第Ⅱ部分 文档/视图体系结构   第9章 文档、视图和单文档界面   第10章 滚动视图、HTML视图以及其他视图类型   第11章 多文档和多视图   第12章 工具栏、状态栏和组合栏   第13章 打印和打印预览   第Ⅲ部分 高级篇   第14章 计时器和空闲处理   第15章 位图、调色板以及区域   第16章 公用控件   第17章 线程和线程同步化   第Ⅳ部分 COM,OLE和ActiveX   第18章 MFC和组件对象模型   第19章 剪贴板和OLE拖放   第20章 Automation   第21章 ActiveX控件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值