WIN32窗口类风格和窗口风格(备查询)

本文详细介绍了WNDCLASS结构体的各个成员变量及其用途,并解释了窗口样式style的各种设置值和它们的功能。此外,还提供了HWNDCreateWindow函数的用法说明及窗口样式的设置指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.WNDCLASS

 

typedef struct {
    UINT cbSize            //这个结构体的长度,一般用sizeof(WNDCLASSEX)设置
    UINT style             //窗口式样
    WNDPROC lpfnWndProc    //窗口消息处理的函数名
    int cbClsExtra         //分配给窗口类结构之后的额外字节数,一般为0
    int cbWndExtra         //分配给窗口实例之后的额外字节数,一般为0
    HINSTANCE hInstance    //想要申请的窗口实例句柄
    HICON hIcon            //运行时的图标,NULL时取系统缺省图标
    HCURSOR hCursor        //光标
    HBRUSH hbrBackground   //背景
    LPCTStr lpszMenuName   //菜单
    LPCTStr lpszClassName  //窗口名
    HICON hIconSm;         //缩小时的图标,NULL时取系统缺省图标
} WNDCLASSEX, *PWNDCLASSEX;

 

 

 

窗口式样style的值可用下表的值组合起来设置,窗口处理函数名lpfnWndProc和hInstance不能设置错。光标有2个hIcon和hIconSm,当取不到值时自动分配一个系统缺省值。光标hCursor可选择下面的光标ID设置到结构体中去。关于图标、背景、菜单后面有专门章节介绍。下面在上一章的基础之上,修改部分数据,看看有什么变化。

设置值解说
CS_HREDRAW窗口客户区宽度发生改变时重绘窗口
CS_VREDRAW窗口客户区高度发生改变时重绘窗口
CS_DBLCLKS鼠标双击时系统所发的消息
CS_NOCLOSE禁用系统菜单中的“关闭”命令
CS_OWNDC为该窗口类的各窗口分配各自独立的设备环境
CS_CLASSDC为该窗口类的各窗口分配一个共享的设备环境
CS_PARENtdC指定子窗口继承其父窗口的设备环境
CS_SAVEBITS把被窗口覆盖的屏幕部分作为位图保存起来。 当窗口被刷新时,系统使用被保存的位图来重画窗口。
CS_BYTEALIGNCLIENTAligns the window's client area on a byte boundary (in the x direction). This style affects the width of the window and its horizontal placement on the display.
CS_BYTEALIGNWINDOWAligns the window on a byte boundary (in the x direction). This style affects the width of the window and its horizontal placement on the display.
CS_GLOBALCLASSSpecifies that the window class is an application global class. For more information, see Application Global Classes.

 

二.WS_

 

 

HWND CreateWindow(
    LPCTSTR lpClassName,      //窗口名
    LPCTSTR lpWindowName,     //窗口标题
    DWORD dwStyle,            //窗口式样
    int x,                    //窗口左上角的x坐标
    int y,                    //窗口左上角的y坐标
    int nWidth,               //窗口的宽度
    int nHeight,              //窗口的高度
    HWND hWndParent,          //父窗口句柄
    HMENU hMenu,              //菜单句柄
    HINSTANCE hInstance,      //实例句柄
    LPVOID lpParam            //创建参数
);

 

设置值解说
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窗口有垂直滚动条

 

转载于:https://www.cnblogs.com/jadeshu/p/10663734.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值