• 注册
当前位置:1313e > 默认分类 >正文

视窗是如何实现的

视窗是如何实现的?

创建视窗

在上一步注册视窗时,我们注册的是视窗类别,视窗类别定义了视窗的一般特性,因此可以使用同一视窗类别来建立许多不同的视窗。创建视窗的过程可以看作是对视窗类别的进一步细化,我们使用CreateWindow或者CreateWindowEx函数来进行视窗的创建。

CreateWindow函数的作用为创建一个重叠窗口,弹出窗口或子窗口。它指定窗口类,窗口标题,窗口样式,以及(可选)窗口的初始位置和大小。该函数还指定窗口的父级或所有者(如果有)以及窗口的菜单。

void CreateWindowA(

lpClassName,

lpWindowName,

dwStyle,

x,

y,

nWidth,

nHeight,

hWndParent,

hMenu,

hInstance,

lpParam

);

dwExStyle为该窗口的拓展样式

lpClassName为该窗口的类名即相对应的视窗类别

lpWindowName为窗口的名称,会在窗口的上方显示

dwStyle为窗口风格

X,Y为窗口的坐标,以屏幕的左上角为原点,原点向右为X轴的正方向,原点向下为Y轴的正方向

nWidth,nHeight为窗口的宽度和高度

hWndParent为父窗口句柄

hInstance为该程序的实例句柄,在WinMain函数的参数中有定义

显示视窗

显示视窗需要ShowWindow函数和UpdateWindow函数才能进行显示

::ShowWindow(hwnd, nCmdShow);

::UpdateWindow(hwnd);

1

2

1

2

对于ShowWindow函数而言,第一个参数为CreateWindow建立的视窗句柄,第二个参数是WinMain函数的nCmdShow,用来存储视窗初始化大小的一些讯息。

对于UpdateWindow函数会重画显示区域,传入的唯一一个参数就是所要显示的视窗句柄。它经由发送给视窗讯息处理函数(即 WndProc 函数)中的 WM_PAINT 讯息做到这一点

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录