CreateWindowEx详解
语法:
HWND CreateWindowEx( DWORD dwExStyle,
LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HINSTANCE hInstance,
LPVOID lpParam
);
参数:
dwExStyle:指定扩展的窗口样式。为以下值中的一个或多个:
| WS_EX_ACCEPTFILES | 指定此样式创建一个窗口接受拖放文件。 |
| WS_EX_APPWINDOW | 当窗口可见时部队一个顶级窗口到任务栏上。 |
| WS_EX_CLIENTEDGE | 指定窗口具有三维外观 — — 就是一个边界与沉没的边缘。 |
| WS_EX_CONTEXTHELP | 在窗口的标题栏中包括一个问号。当用户单击问号,光标更改为一个问号指针。如果用户单击一个子窗口,孩子接受WM_HELP消息。 |
| WS_EX_CONTROLPARENT | 允许用户使用 TAB 键导航之间的子窗口的窗口。 |
| WS_EX_DLGMODALFRAME | 选定一个带有 (可选) 时,可能创建一个标题栏与你在dwStyle参数中指定WS_CAPTION风格标志的双边框的窗口。 |
| WS_EX_LAYERED | 创建分层的窗口。请注意这不能用于子窗口。此外,这不能使用如果窗口有 CS_OWNDC 或 CS_CLASSDC 的类样式 |
| WS_EX_LAYOUTRTL | 创建一个窗口,其水平的起源是右边缘。增加水平值预先向左。 |
| WS_EX_LEFT | 给窗口一般左对齐属性。这是默认值。 |
| WS_EX_LEFTSCROLLBAR | 客户区的左侧放置垂直滚动条。 |
| WS_EX_LTRREADING | 显示窗口文本使用从左到右阅读顺序属性。这是默认值。 |
| WS_EX_MDICHILD | 创建 MDI 子窗口。 |
| WS_EX_NOPARENTNOTIFY | 指定用这种方式创建的子窗口将不发送WM_PARENTNOTIFY消息给它的父窗口创建或销毁子窗口时。 |
| WS_EX_OVERLAPPEDWINDOW | 结合WS_EX_CLIENTEDGE和WS_EX_WINDOWEDGE的样式 |
| WS_EX_PALETTEWINDOW | 结合WS_EX_WINDOWEDGE和WS_EX_TOPMOST的样式。 |
| WS_EX_RIGHT | 给一个窗口右对齐的通用属性。这取决于该窗口类。 |
| WS_EX_RIGHTSCROLLBAR | 右侧的客户区地方垂直滚动条 (如果存在)。这是默认值。 |
| WS_EX_RTLREADING | 显示窗口文本使用右到左的阅读顺序属性。 |
| WS_EX_STATICEDG | E创建具有三维边框样式可用于不接受用户输入的项目窗口。 |
| WS_EX_TOOLWINDOW | 创建一个工具窗口,它是可用于作为一个浮动的工具栏窗口。一个工具窗口具有短于正常的标题栏,标题栏和使用较小字体绘制的窗口标题。 工具窗口不会出现在任务条形图或当用户按下 ALT + TAB 时出现的窗口中。 |
| WS_EX_TOPMOST | 指定此样式创建一个窗口应放置高于所有顶层窗口和窗口被停用时,即使它们上面留。 应用程序可以使用SetWindowPos成员函数来添加或删除该属性。 |
| WS_EX_TRANSPARENT | 指定此样式创建一个窗口将是透明的。就是任何窗口,在窗口下方的窗口不被遮盖。用此样式创建一个窗口收到WM_PAINT消息已经更新, 在它下面的所有同级窗口后才。 |
| WS_EX_WINDOWEDGE | 指定窗口已具有凸起的边缘的边框。 |
dwStyle:指定窗口样式。其值为以下值中的一个或多个:
| WS_BORDER | 创建一个有边框的窗口。 |
| WS_CAPTION | 创建一个具有标题栏 (意味着WS_BORDER样式) 的窗口。不能用的WS_DLGFRAME样式。 |
| WS_CHILD | 创建一个子窗口。不能用的WS_POPUP样式。 |
| WS_CHILDWINDOW | 与WS_CHILD样式相同。 |
| WS_CLIPCHILDREN | 不包括在父窗口内绘制时子窗口所占用的区域。当您创建父窗口时使用。 |
| WS_CLIPSIBLINGS | 剪辑子窗口彼此;也就是说,当一个特定的子窗口接收绘制消息, WS_CLIPSIBLINGS风格剪辑子窗口要更新的区域外的所有其他重叠的子窗口。 (如果没有给WS_CLIPSIBLINGS和子窗口重叠内子窗口的客户区, 绘制时,它是可能内相邻的子窗口的客户区的绘制。与WS_CHILD样式只一起使用。 |
| WS_DISABLED | 创建一个窗口是最初被禁用。 |
| WS_DLGFRAME | 创建一个窗口,但是没有头衔的双边框。 |
| WS_GROUP | 指定一组控件,用户可以从一个控件移向下的箭头键的第一个控件。用虚假的WS_GROUP样式后的第一个控件定义的所有控件都属于同一个组。 WS_GROUP样式的下一控件启动下一个组 (就是下一步的开始位置的一组结束)。 |
| WS_HSCROLL | 创建一个具有水平滚动条的窗口。 |
| WS_ICONIC | 创建一个最初最小化的窗口。WS_MINIMIZE样式相同。 |
| WS_MAXIMIZE | 创建一个窗口的最大大小。 |
| WS_MAXIMIZEBOX | 创建一个窗口有最大化按钮。 |
| WS_MINIMIZE | 创建一个最初最小化的窗口。与仅WS_OVERLAPPED样式一起使用。 |
| WS_MINIMIZEBOX | 创建一个具有最小化按钮的窗口。 |
| WS_OVERLAPPED | 创建重叠的窗口。重叠的窗口通常具有标题和边框。 |
| WS_OVERLAPPEDWINDOW | 与WS_OVERLAPPED、 WS_CAPTION、 WS_SYSMENU、 WS_THICKFRAME、 WS_MINIMIZEBOX和WS_MAXIMIZEBOX样式创建重叠的窗口。 |
| WS_POPUP | 创建一个弹出窗口。不能使用具有WS_CHILD样式。 |
| WS_POPUPWINDOW | 用WS_BORDER, WS_POPUP和WS_SYSMENU的样式创建一个弹出窗口。WS_CAPTION样式必须结合WS_POPUPWINDOW样式,以使控制菜单上可见。 |
| WS_SIZEBOX | 创建一个具有大小调整边框的窗口。WS_THICKFRAME样式相同。 |
| WS_SYSMENU | 创建一个窗口,都有一个控制菜单框在其标题栏中。仅用于带有标题栏的窗口。 |
| WS_TABSTOP | 指定任意数量的控件,通过它用户可以通过使用 TAB 键移动之一。TAB 键移动用户到指定WS_TABSTOP风格的下一个控件。 |
| WS_THICKFRAME | 创建一个窗口,用厚厚的框架,可以用来调整窗口的大小。 |
| WS_TILED | 创建重叠的窗口。重叠的窗口有标题栏和边框。WS_OVERLAPPED样式相同。 |
| WS_TILEDWINDOW | 用 WS_OVERLAPPED、 WS_CAPTION、 WS_SYSMENU、 WS_THICKFRAME、 WS_MINIMIZEBOX 和 WS_MAXIMIZEBOX 的样式创建重叠的窗口。 与WS_OVERLAPPEDWINDOW 样式相同。 |
| WS_VISIBLE | 创建的窗体可见 |
| WS_VSCROLL |
创建一个具有垂直滚动条的窗口. |
lpClassName:指定类名。是一个指针,指向以null结尾的串。
可以是任意串,也可以是用RegisterClass或RegisterClassEx注册的类名,也可以是系统类名。
| 系统类名 | 说明 |
| Button | 按钮 |
| ComboBox | 组合框 |
| Edit | 编辑框 |
| ListBox | 列表框 |
| MDIClient | MDI客户端窗口 |
| ScrollBar | 滚动条 |
| Static | 静态控件类 |
| ComboLBox | 组合框列表 |
| DDEMLEvent | 动态数据交换管理库(DDEML)事件 |
| Message | 只有消息的窗口 |
| #32768 | 菜单 |
| #32769 | 桌面窗口 |
| #32770 | 对话框 |
| #32771 | 任务切换窗口 |
| #32772 | 图标标题 |
lpWindowName:窗口标题
x,y,nWidth,nHeight:指定位置和大小
hMenu:
菜单的句柄,或指定一个子窗口标识符,根据不同的窗口样式。对于重叠或弹出式窗口,hMenu 标识的菜单,用于与窗口 ;如果要使用的类菜单,它可以为 NULL。对于子窗口,hMenu 指定的子窗口标识符,整数值对话框控件用来通知其父有关的事件。应用程序确定的子窗口标识符 ;它必须是唯一的具有相同的父窗口的所有子窗口。
hInstance:
CreateWindowEx详解的更多相关文章
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)
Android XML shape 标签使用详解 一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...
- Node.js npm 详解
一.npm简介 安装npm请阅读我之前的文章Hello Node中npm安装那一部分,不过只介绍了linux平台,如果是其它平台,有前辈写了更加详细的介绍. npm的全称:Node Package M ...
随机推荐
- redhat输入用户名密码后又跳回到登录
一.如果忘记密码,可以进入single模式修改密码: 1.进入linux启动界面之后按e进入如下界面 2.按选择kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ 项,按 ...
- 本地锁、redis分布式锁、zk分布式锁
本地锁.redis分布式锁.zk分布式锁 https://www.cnblogs.com/yjq-code/p/dotnetlock.html 为什么要用锁? 大型站点在高并发的情况下,为了保持数据最 ...
- Python装饰器单例
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/dutsoft/article/details/52057981#!/usr/bin/python#c ...
- 将Mozilla ThunderBird最小化到系统托盘(转载)
转自:http://be-evil.org/mozilla-thunderbird-minize-to-tray.html Mozilla ThunderBird是一款非常不错的邮件客户端,但是其在默 ...
- linux更改用户名,域名(转载)
转自:http://huangro.iteye.com/blog/365975 1. 我们在root权限下,使用命令: usermod -l new_user_name old_user_name 即 ...
- Linux 常用命令一 ls
一.ls命令 用于查看目录下的文件信息. ls 当前目录下都有哪些文件: wang@wang:~$ ls examples.desktop workpalce 模板 图片 下载 桌面 tools 公共 ...
- bzoj 1853: [Scoi2010]幸运数字&&2393: Cirno的完美算数教室【容斥原理】
翻了一些blog,只有我用状压预处理嘛2333,.把二进制位的0当成6,1当成8就行啦.(2393是2和9 然后\( dfs \)容斥,加上一个数的\( lcm \),减去两个数的\( lcm \), ...
- 【牛客-14602】xinjun与阴阳师(01背包)
xinjun与阴阳师 题目描述 xinjun是各类手游的狂热粉丝,因随手一氪.一氪上千而威震工大,现在他迷上了阴阳师.xinjun玩手游有一个习惯,就是经过层层计算制定出一套方案来使操作利益最大化(因 ...
- gRPC入门
一.gRPC简介 在介绍gRPC之前先说一下RPC(Remote Procedure Call),也叫远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.相比 ...
- 在IDEA里gradle配置和使用
在IDEA里gradle配置和使用 在IDEA里gradle配置和使用 前言 Windows环境IDEA配置gradle 配置系统环境变量 下载 配置环境变量 测试 idea配置 gradle仓库设置 ...