Yesky首页| 产品报价| 行情| 手机 | 数码 | 笔记本 | 台式机 | DIY硬件 | 外设 | 网络 | 数字家庭 | 评测 | 软件 | e时代 | 游戏 | 图片 | 壁纸 | 群乐 | 社区 | 博客 | 下载
您现在的位置: 天极网 > 开发频道 > Win32编程基础知识
全文

Win32编程基础知识

2003-08-14 18:21 作者: 出处: 论坛 责任编辑:方舟
  创建窗口

  当窗口类注册完毕之后,并不会有窗口显示出来,因为注册的过程仅仅是为创建窗口所做的准备工作。实际创建一个窗口的是通过调用CreateWindow()函数完成的。窗口类中已经预先定义了窗口的一般属性,而CreateWindow()中的参数可以进一步指定一个窗口的更具体的属性,在EasyWin程序中,是如下调用CreateWindow()函数来创建窗口的:

hwnd = CreateWindow(

"EasyWin", //创建窗口所用的窗口类的名称*

"一个基本的Win32程序", //窗口标题

WS_OVERLAPPEDWINDOW, //窗口风格,定义为普通型*

100, //窗口位置的x坐标

100, //窗口位置的y坐标

400, //窗口的宽度

300, //窗口的高度

NULL, //父窗口句柄

NULL, //菜单句柄

hInstance, //应用程序实例句柄*

NULL ); //一般都为NULL

  CreateWindow()函数的参数的含义在上面的注释中已有介绍,注释后打了星号标记的参数应该着重注意,其它的参数都很简单,不多做介绍,可参看VC的帮助。

  第一个参数是创建该窗口所使用的窗口类的名称,注意这个名称应与前面所注册的窗口类的名称一致。

  第三个参数为创建的窗口的风格,下表列出了常用的窗口风格:

风格 含义
WS_OVERLAPPEDWINDOW 创建一个层叠式窗口,有边框、标题栏、系统菜单、最大最小化按钮,是以下几种风格的集合:WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, WS_MAXIMIZEBOX
WS_POPUPWINDOW 创建一个弹出式窗口,是以下几种风格的集合: WS_BORDER,WS_POPUP,WS_SYSMENU。WS_CAPTION与WS_POPUPWINDOW风格必须一起使用才能使窗口菜单可见
WS_OVERLAPPED 创建一个层叠式窗口,它有标题栏和边框,与WS_TILED风格一样
WS_POPUP 该窗口为弹出式窗口,不能与WS_CHILD同时使用
WS_BORDER 窗口有单线边框
WS_CAPTION 窗口有标题栏
WS_CHILD 该窗口为子窗口,不能与WS_POPUP同时使用
WS_DISABLED 该窗口为无效,即对用户操作不产生任何反应
WS_HSCROLL 窗口有水平滚动条
WS_ICONIC 窗口初始化为最小化
WS_MAXIMIZE 窗口初始化为最大化
WS_MAXIMIZEBOX 窗口有最大化按钮
WS_MINIMIZE 与WS_MAXIMIZE一样
WS_MINIMIZEBOX 窗口有最小化按钮
WS_SIZEBOX 边框可进行大小控制的窗口
WS_SYSMENU 创建一个有系统菜单的窗口,必须与WS_CAPTION风格同时使用
WS_THICKFRAME 创建一个大小可控制的窗口,与WS_SIZEBOX 风格一样.
WS_TILED 创建一个层叠式窗口,有标题栏
WS_VISIBLE 窗口为可见
WS_VSCROLL 窗口有垂直滚动条

  程序中使用了WS_OVERLAPPEDWINDOW标志,它是创建一个普通窗口常用的标志。而在DirectX编程中,我们常用的是WS_POPUP,用这个标志创建的窗口没有标题栏和系统菜单,如果设定窗口为最大化,客户区可以占满整个屏幕,以满足DirectX编程的需要。

  CreateWindow()函数后面的参数中,仍用到了该应用程序的实例句柄hInstance。

  如果窗口创建成功,返回值是新窗口的句柄,否则返回NULL。

共7页。 9 1 2 3 4 5 6 7 :
文章阅读排行
周排行
月排行
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml