利用win32创建窗口函数,主要操作步骤为:

1、设计一个窗口类
2、注册窗口类
3、创建窗口
4、显示及窗口更新
5、消息循环
6、窗口过程函数
 
(1)设计一个窗口类
设计窗口类,这样的类型已经被windows定义好了,我们只需要像选择题一样填满定义好的结构体(WNDCLASS)即可。
首先有两个一般设为0的选项:cbClsExtra和cbWndExtra,这两个是类附加内存和窗口附加内存。
hbrBackground指定窗口类的背景画刷句柄。可以用来指定一个画刷的句柄,也可以指定一个标准的系统颜色值。
hCursor指定窗口类的光标句柄
hIcon指定窗口类的图标句柄
hInstance指定包含窗口过程程序的程序的实例句柄
lpfnWndProc是一个函数指针,指向窗口过程函数
lpszClassName指定窗口类的名字
lpszMenuName指定菜单资源的名字
style指定窗口的样式
 
(2)注册窗口类
RegisterClass( xxx )里面的参数为指向窗口WNDCLASS的指针
让操作系统知道这一类型的窗口相关信息
 
(3)创建窗口
hwnd = CreateWindow(lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParant,hMenu,hInstance,lpParam)
lpClassName指定窗口类的名称,即窗口类中的lpszClassName
lpWindowName指定窗口的名字
dwStyle指定创建的窗口样式,主要是窗口显示些什么东西
x,y,nWidth,nHeight左上角坐标,长、宽
hWndParant指定被创建窗口的父窗口句柄
hMenu指定窗口菜单的句柄
hInstance指定窗口所属的应用程序实例的句柄
lpParam多数窗口将这个设为NULL
 
(4)显示及更新
ShowWindow(hwnd,窗口显示状态);
UpdateWindow(hwnd);
 
(5)消息循环
创建、显示、更新窗口之后,需要有一个消息循环,不断的从消息队列中读取消息。
GetMessage( lpMsg , hWnd , wMsgFilterMin, wMsgFilterMax)
lpMsg指向一个消息结构体(MSG)
hWnd指定接收哪一个窗口的消息,通常设为NULL,接收属于调用线程所有窗口的窗口消息
wMsgFilterMin,wMsgFilterMax指定要获取的消息最小值和最大值,通常设为0
GetMessage函数对于WM_QUIT消息,返回0
TranslateMessage和DispatchMessage对收到的消息进一步处理
 
(6)窗口过程函数
用于处理发送给窗口的消息
 
 
这一章主要通过一个win32编程的例子,讲述了windows程序设计,是一种交互式的、事件驱动的程序设计模式,基于消息的。
 
详细内容,参考VC++深入讲解这本书吧

本节程序

 
 

win32创建窗口函数(windows程序内部运行机制)的更多相关文章

  1. windows程序内部运行机制

    Windows程序内部运行机制 2007-10-21 19:52 1010人阅读 评论(0) 收藏 举报 windowsvc++applicationcallbackwinapistructure W ...

  2. 1、win32创建窗口函数(windows程序内部运行机制)

    利用win32创建窗口函数,主要操作步骤为: 1.设计一个窗口类 2.注册窗口类 3.创建窗口 4.显示及窗口更新 5.消息循环 6.窗口过程函数   (1)设计一个窗口类 设计窗口类,这样的类型已经 ...

  3. Windows程序内部运行机制 转自http://www.cnblogs.com/zhili/p/WinMain.html

    一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序 ...

  4. 深入浅出话VC++(1)——Windows程序内部运行机制

    一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序 ...

  5. 第1章 Windows程序内部运行机制

    参考: https://blog.csdn.net/u014162133/article/details/46573873 1.Windows API与Win32 SDK 操作系统提供了各种方便开发W ...

  6. 【vc】1_Windows程序内部运行机制

    创建一个Win32应用程序步骤: 1.编写WinMain函数; 2.创建窗口(步骤如下): a.设计(一个)窗口类(WNDCLASS) b.注册(该)窗口类. c.创建窗口. d.显示并更新窗口. 3 ...

  7. VC学习笔记: 1. Window程序内部运行机制

    0. 内容结构 API与SDK 窗口与句柄 消息与消息队列 WinMain函数 1. API与SDK 这里 API是指由Windows操作系统提供给应用程序的编程接口: Windows系统提供的API ...

  8. Oracle 远程访问配置 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标 C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素” C#[Win32&WinCE&WM]应用程序只能运行一个实例:MutexHelper Decimal类型截取保留N位小数向上取, Decimal类型截取保留N位小数并且不进行四舍五入操作

    Oracle 远程访问配置   服务端配置 如果不想自己写,可以通过 Net Manager 来配置. 以下配置文件中的 localhost 改为 ip 地址,否则,远程不能访问. 1.网络监听配置 ...

  9. 深入理解ASP.NET的内部运行机制(转)

    WebForms和WebServices作为.NET平台构建Web程序的两大利器,以其开发简单.易于部署的特点得到了广泛的应用,但殊不知微软公司在背后为我们做了大量的基础性工作,以至于我们开发人员只需 ...

随机推荐

  1. 【leetcode 简单】 第五十九题 同构字符串

    给定两个字符串 s 和 t,判断它们是否是同构的. 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的. 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序.两个字符不能映射到同一 ...

  2. “榕树下·那年”移动app ( hybrid ) 开发总结

        榕树下网站本身的技术人员并不多,所以app开发的任务就到了母公司盛大文学这边.       盛大文学无线业务中心负责这次具体开发任务.       一如既往的,开发的情况是:时间紧,任务重,人 ...

  3. IE安全系列之——RES Protocol

    IE安全系列之--RES Protocol res Protocol用于从一个文件里面提取指定资源.语法为:res://sFile[/sType]/sID 各Token含义: sfile:百分号编码. ...

  4. 修复TortoiseGit文件夹和文件图标不显示问题的多种解决办法以及重启之后TortoiseGit图标注册表又不见了的解决办法

    一 首先进行第一种尝试 打开 regedit.exe ,准备修改注册表 找到 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ ...

  5. python使用twisted搭建的一个socket服务

    服务端 # -*- coding: utf-8 -*- # @Time : 2018/9/19 21:41 # @Author : cxa # @File : tsTservTW.py # @Soft ...

  6. Access中替代case when的方法 .

    最近在做一个用Access的东东,其中用到了case when的方式,但是Access是不支持这种语法的,查询知道IIf和Swith可以作为替代,总结如下: IIf(expr, truepart, f ...

  7. 25 The Go image/draw package go图片/描绘包:图片/描绘包的基本原理

    The Go image/draw package  go图片/描绘包:图片/描绘包的基本原理 29 September 2011 Introduction Package image/draw de ...

  8. WGS84转大地2000

    1.创建自定义地理(坐标)变换: 2.选择源坐标系和目标坐标系: 3.自定义地理转换方法,选择COORDINATE_FRAME; 4.选择投影工具: 5.在地理变换处选择刚才自定义变换.

  9. tensorflow中的boolean_mask

    将mask中所有为true的抽取出来,放到一起,这里从n维降到1维度 tensor = [[1, 2], [3, 4], [5, 6]] import numpy as np mask=np.arra ...

  10. java基础66 JavaScript中的事件、localtion对象、screen对象(网页知识)

    1.JavaScript中的事件注册 1.1.事件的注册方式 方式1:直接在html元素上注册 <body onLoad="ready()"></body > ...