U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 帮助中心 >

VC++关于WinMain程序的学习笔记(2)

来源:http://www.tudoupe.com时间:2022-04-14

目录

Windows 程序、操作系统以及计算机硬件的相互依存关系

Windows操作系统提供近1 00个API功能。

句柄

消息与消息队列

MSG结构体:

WinMain 函数描述如下:

窗口的创建

一. 创建窗口类 :

2.注册窗口类:

3.创建窗口:

4.显示及更新窗口

(1)显示窗口

(2)更新窗口

消息循环

编写窗口过程函数

变量的命名约定

摘要(制定Win32方案的程序)

Windows 程序、操作系统以及计算机硬件的相互依存关系

Windows操作系统提供近1 00个API功能。

创建窗口是一个为程序创建窗口的函数 。

显示窗口: 显示窗口 。

加载 Icon: 此类用于装入图标 。

SendMessage: 用于发送信件 。

句柄

图标处理 (HICON)

处理光标语句( HHURSOR)

刷子手柄 (HBRUSH) 。

消息与消息队列

MSG结构体:

WinMain 函数描述如下:

窗口的创建

创建完整窗口需要下列操作程序:
1. 创建窗口类;
2.注册窗口类;
3.创建窗口;
四场表演 更新窗口

一. 创建窗口类 :

第一个成员变量style通常使用的这类窗口的样式如下:
■ CS_HREDRAW
当窗口水平方向的宽度发生变化时,整个窗口将被重新油漆。当窗口被重新拖动时,窗口中的文字和图形将被擦去。如果不提供此样式,当窗口的宽度水平被改变时,窗口不会被重新拖动。
■ CS_VREDRAW
当窗口垂直方向的高度变化时,整个窗口将被重新油漆。如果不提供此样式,如果窗口垂直方向的高度变化,窗口将不会被重新绘制。
■ CS_NOCLOSE
禁用系统菜单的关闭命令,导致窗口不关闭按钮。
■ CS_DBLCLKS
当用户双击窗口中的鼠标时,它会向窗口进程发送双击消息。

2.注册窗口类:

3.创建窗口:

lpClass 指定了窗口类的名称 。

窗口的名称由 IpWindow 指定 。

生成窗口的样式由 dwStyle 指定 。

dwStyle 设置 :

要将风格成员与WNDCLASS中的创建窗口方法区分开来, 请查找 dwStyle 参数 。前者是所选窗口类的风格 。这些样式应用到使用此窗口类建立的窗口 。后者是一种指定特定窗口的样式。WS_ 覆盖的窗口是一种将许多其他窗口组合在一起的窗口类型。

窗口类型:

WS_OVELAPPD: 此函数生成一个带有标题栏和边框的层形窗口 。
WS_Option:此函数创建带有标题栏的窗口。
WS_SYSmenU:在标题栏上创建一个带有系统菜单的窗口,使用 WS_Choption 类型。
WS_THICKFRAME: 创建一个有可调整边界的窗口 。
WS_MINIMIZEBOX:在设置 WS_SYSMENU 类型的同时,用最小的按钮建立一个窗口。
WS_MAXIMIZEBOX: 设定窗口中最大的按钮, 并及时设置 WS_ SYSMENU 类型 。

x, y, nWidth, nH8: 表示左上角窗口的 x 坐标、 y 坐标、 宽度和高度 。

如果选项 x 设置为 CW_USEDEFOLT, 则会发生下列情况:系统然后使用窗口默认的左上角坐标,忽略 Y 参数。如果 nWidth 选项设置为 CW_USEDEFOLT,因此,系统选择了窗口的默认宽度和高度。nH8 参数被忽略 。

hWnd Patrent 参数表示要构造的父窗口控点 。

母窗口活动对子窗口的影响

参数 hMenu 指定了窗口菜单的控点 。

hInstance 参数指定窗口所属应用程序示例的控点 。

ipParam: 作为 WM_CREATE 电文的附加参数而给定的数据指针, 由 lParam 提供 。

如果窗口成功形成, 创意窗口方法会返回系统给窗口的控点; 否则, 它返回 NULL。 应当指出, 在建立窗口之前, 应该设置窗口控点变量以接受创建窗口时返回的字符串控点值 。

4.显示及更新窗口

(1)显示窗口

要显示窗口, 请使用“ 显示窗口” 函数 :
hnd 是前一步成功创建窗口后返回的窗口控点 。

NCMdShow已被指定 。窗口显示的状态

SWHIDE: 激活其它窗口时隐藏窗口 。
SW_SHOW: 激活并显示窗口的原始大小和位置 。
SW_SHOWMAXIMIED:此命令激活窗口并最大化其显示 。
SW_SHOWMINIMIZED:此命令激活窗口并将其显示最小化 。
SW_SHOWNORMAL:激活并显示窗口。如果窗口被最小化或最大化,系统将恢复到原来的大小和大小。当窗口最初显示时,应用程序应该提供此指示 。

(2)更新窗口

要刷新窗口, 请在使用 ShowWindow 后拨打“ 更新窗口 ” 。

更新窗口函数的原型如下:

消息循环

在生成、显示和更新窗口后,必须建立一个信息循环,不断从信息队列中提取信息并作出回应。

要从信件队列中获取信件,请使用 GetMessage () 方法,其原型如下:

IpMsg指组合组合组合结构。

要接收的窗口由 hWnd 指定 。

wMsgFiltermin确定电文的最低值,该值一般定为零。

wMsgFilterMax 定义了要获取的最大信件值。 如果 wMsgFiltermin 和 wMsgFilter Max 都设定为零, 则所有信件都会收到 。

除了WMUIT, GetMessage 方法返回所有收到信件的非零结果 。关于WMUIT的消息,该函数返回0。如果出现了错误,该函数返回-1,例如,当参数 hWnd 是一个不正确的窗口控点或参数 lpMsg 是一个无效的指针时,发生下列错误:该函数返回-1。

以下是标准的信息循环代码:

TranslateMessage 函数负责将虚拟密钥信息转换为字符信息 。

字符信息被路由到线索的邮件队列 。当您再次调用GetMessage方法时,它将被删除。当我们在键盘上按键时WM_KEYDOWN和WM_KEYUP信息将由系统生成。两种电文的额外参数(wParam和lParam)都含有虚拟钥匙代码和扫描代码等信息。此外,我们经常需要为申请中的性格获得ASCII编码。TranslateMessage 函数将 WM_KEYDOWN 和 WM_KEYUP 信件的组合转换为 WM_CHAR 信件( 字符 ASCII 代码包含在信件的 wParam 额外参数中 ) 。这篇文章是全球之声在线特稿的一部分。(注意,原始信件不会被 TranslateMessage 方法更改 。它只是创造新消息, 并添加到新闻队列上。)

DespatchMessage 函数向窗口进程发送信息, 然后由窗口进程处理 。

United Message 将信件真正返回到操作系统, 操作系统会运行窗口处理方法( 回复) 。

Windows 程序、操作系统以及计算机硬件的相互依存关系:

Windows 应用程序中信息处理机制:

(1) 操作系统从应用程序中获取窗口信息,并将其引向应用程序的电文队列。

(2) 在信息循环中,该应用程序援引GetMessage方法从电文队列中检索电文。在取出消息后,信息可以通过应用程序预处理。例如,我不知道我能不能回答一些新闻要生成新信息, 请使用 TranslateMessage 。

(3) 本程序使用快递Message方法将信息发送回操作系统,信息由MSG结构对象定义,该结构对象包含接收信息的窗口的控点,因此,快递Message函数总是正确传输。

(4) 该系统利用WNDCLASS结构的 lpfnWndProc 元素保存的窗口的流程功能,处理电文(即“系统向应用程序发送电文”)。

对于 Windows 应用程序, 这是信件处理程序 。

也可以使用PeekMessage 函数从电文队列中获取电文,该功能有以下原型:

IpMsg指组合组合组合结构。

要接收的窗口由 hWnd 指定 。

wMsgFiltermin确定电文的最低值,该值一般定为零。

wMsgFilterMax 定义了要获取的最大信件值。 如果 wMsgFiltermin 和 wMsgFilter Max 都设定为零, 则所有信件都会收到 。

前四个参数的目的与 GetMessage 函数的四个参数相同。 最后一个参数描述了如何获取消息:

PM_NORMOVE: 信件不会从队列中删除 。

PM_REMOVE: 信件将从信件队列中删除( 符合 GetMessage 函数的行为 ) 。

使用 SendMessage 和 PostMessage 方法发送信件 。发件人发件人将信件引导到窗口 。并援引窗口的处理程序。在带信件的窗口程序完成后,此方法返回( SendMessage 传输未排队的信件) 。信件一被放在与创建窗口的线索相关的信息队列中,即用 PostMessage 方法返回 。除了这两个函数外,此外,还提供“事后消息”方法。它用来和线条沟通对于线程消息,在SG结构中,hwnd成员为NULL。

编写窗口过程函数

窗口进程函数包含 Windows 程序的大多数代码 。

此方法创建了一个窗口进程函数, 用于处理窗口收到的信件 。

窗口进程函数的写法如下:

系统使用窗口进程函数的地址(点)来调用窗口进程函数,而不是名称。

可以使用 WinSunProc 等窗口进程函数,但必须以与上述句子相同的方式指定该函数。

在窗口进程函数内,使用开关/办案语句来决定窗口进程获得的信息和如何处理:

在窗户被毁灭窗口功能摧毁后NM_DESTROY通知将发给窗口进程。在信息响应代码中,我们称之为 PostQuitMessage 函数 。PostQuitMessage 函数从应用程序的邮件队列中传输并返回 WMUIT 消息 。GetMessage 函数收到 WMUIT 消息时, 它只返回 0 。新闻循环已经结束。程序退出。如果你想正确分配软件,你必须把软件弄出去。我们必须对WM_DESTROY信号作出反应。这篇文章是「免责信条」报导的一部分。无法将信件附加到 mh 文件夹:%s:%sWParam WMUIT 消息的 wParam 参数参数参数参数将提供给 PostQuitMessage 函数 。此值通常用作 WinMain 函数的返回值 。

变量的命名约定

因为Windows程序通常很冗长,在特定时间里,程序员可能会忘记所宣布变量的含义。为了帮助您回忆和区分变量,微软为Windows做了一个命名交易, 它不会工作。"匈牙利语的注解"匈牙利立法具体规定了一套前缀字符以及前缀清单。如下所示,这些前缀也可以混合使用。

摘要(制定Win32方案的程序)

(1) 构建 WinMain 函数,可从 MSDN 中检索和复制该函数。
(2) 窗口设计等级(WNDCLASS)。
(3)注册窗口类。
(4)创建窗口。
(5) 显示和更新窗口
(6) 必须准备信息循环。
(7) 创建窗口进程函数。窗口进程函数的语法可以在成员对 WNDCLASS lpfnWndProc 成员变量的解释中找到。

(1) VC++Winmain应用研究注释

VC++MFC 应用程序向导如下。

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息