windows编程入门之结构
原创
©著作权归作者所有:来自51CTO博客作者googlemaps的原创作品,请联系作者获取转载授权,否则将追究法律责任
Windows程序一般包括以下七个方面
1.注册窗口类
2.创建窗口
3.显示更新窗口
4.创建消息循环
5.终止应用程序
6.窗口过程和窗口过程函数
7.处理消息
1.注册窗口类
WinMain既然作为程序的入口,它相当于一个中介人的角色,把应用程序(窗口)介绍给Windows系统。下面首先的第一步是登记应用程序的窗口类
窗口类是定义窗口属性的模块,这些属性包括窗口函数·鼠标形状·菜单等,窗口类也是指定处理该类所有窗口消息的窗口函数。只有先建立窗口类,才能根据窗口类来创建Windows应用程序的一个或者多个窗口。创建窗口时,还可以指定窗口独有的附加特性。窗口类不能重名。在建立窗口类后,必须向Windows登记
建立窗口类就是用WNDCLASS结构定义一个结构变量,如:
WNDCLASS ws;
然后用自己设计的窗口属性的消息来填充变量wc的各个域
用WinMain()等级窗口类,首先要填写一个WNDCLASS结构,其定义如下:
typedef struc_WNDCLASS
{
UINT style; //窗口类的风格
WNDPROC lpfnWndproc; //指定窗口过程函数的指针
int cbClssExtra ; //窗口类附加数据
int cbWndExta //窗口附加数据
HINSTANCE hInstance; //拥有窗口类的实例句柄
HICON hIcon; //最小化窗口图标
HCURSOR hCursor; //窗口内使用的光标
HBRUSH hbrBackground //用来着色窗口背景的刷子
LPCSTR lpszMenuName; //指向菜单资源名的指针
LPCSTR lpszClassName; //指向窗口类名的指针
}WNDCLASS *PWNDCLASS;
该结构的第一个成员style控制窗口的某些中药特性,在Windows中定义了一些前缀为CS的常量 在程序中可以使用这些常量,
wc.style=CS_HREDRAW|CS_VREDRAW
表示当窗口的纵横坐标发生变化时要重画整个窗口,其结果是,无论怎么拉动窗口大小,在窗口正中部的字还是留在窗口的正中部。也可以把style设为0,此时改变窗口的大小,则那个字不一定在中部。
上一篇:从WinMain开始
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
linux之socket编程
linux之socket编程
数据 端口号 IP -
SparkSQL之 SparkSQL编程入门
SparkSession 新的起始点在老的版本中,SparkSQL提供两种SQL查询起始点:一个叫SQLContext,用于Spark自己提供的SQL查询;一个叫HiveContext,用于连接Hive的查询。SparkSession是Spark最新的SQL查询起始点,实质上是SQLContext和HiveContext的组合,所以在SQLContext和HiveContext上可用的API在SparkSession上同样是可以使用的。SparkSession内部封装了sparkContext,所以计
大数据 Spark SparkSQL spark scala -
Golang入门之——结构体
什么是结构体?结构体是用户定义的类型,表示若干个字段(Field)的集合。有时应该把数据整合在一起,而不是让里,声明了一个
golang 开发语言 后端 字段 字段名 -
day01 windows编程入门
我们以前见过double,int,long,我们都可以很清晰的知道他们是什么意思,但是这玩例,接下来我们将学习如何编写一个正规的第一个窗口。
windows c++ 开发语言 字符串 Windows -
Windows编程入门程序详解
息循环等多种内容windows窗口程序的流程如下:【WinMain入口】-->创建和设计窗口类-->注册窗口类-->创建、显示和更新窗口--&
程序语言--------C++ ico 句柄 应用程序 最小化