精华内容
下载资源
问答
  • windows窗口类型

    千次阅读 2015-01-05 19:48:11
    Overlapped Windows 重叠窗口 Pop-up Windows 弹出窗口 Child Windows窗口 Layered Windows 分层窗口 Message-Only Windows 什么是层叠窗口 层叠窗口最典型的就是我们的一个应用窗口的主窗口,如果用WS_...

    windows建立的是怎样的一套窗口理论体系,

    window窗口有下面的几个基本的分类

    • Overlapped Windows 重叠窗口
    • Pop-up Windows 弹出窗口
    • Child Windows 子窗口
    • Layered Windows 分层窗口
    • Message-Only Windows

    什么是层叠窗口

    层叠窗口最典型的就是我们的一个应用窗口的主窗口,如果用WS_OVERLAPPEDWINDOW的属性创建了窗口,那么窗口一定会有标题栏,窗口边框,窗口菜单,和最大最小按钮。

    层叠窗口是没有父窗口的,也就是用GetParent()获取到的父窗口是NULL

    什么是弹出窗口

    弹出窗口跟层叠窗口最大的区别就是弹出窗口一般都会有个父窗口的,如我们常用的MessageBox就是弹出窗口,而它的父窗口一般就是我们调用地方的窗口。

    弹出窗口是特殊的层叠窗口,通常会是dialog对话框,message对话框

    创建窗口的时候指定WS_POPUP风格就会创建弹出窗口

    什么是子窗口

    子窗口通常会有 WS_CHILD风格,并且只能够被分配到父窗口的客户区域。子窗口必须要有父窗口,父窗口可以是层叠窗口也可以是弹出窗口甚至也可以是其它的子窗口

    和父窗口的关系
    一个已经存在的子窗口是可以通过SetParent来改变它的父窗口的,也就是可以将子窗口从旧的父窗口的客户区中删除掉,而移动到新的父窗口的客户区域。也就是说子窗口其实是可以随意改变父窗口的

    因为子窗口的关系,于是应用程序常常会维持着一个窗口关系链,就像是一个族谱一样。我们可以使用IsChild来判断一个窗口是否是另一个窗口的子窗口

    什么是分层窗口

    使用分层窗口能够显著的提升拥有混合形状的窗口的性能和视觉效果。这些窗口可能会有动态形状,或者你希望使用alpha混合效果,分层窗口都是不错的选择。系统能够自动的组合并且重绘分层窗口和基本的应用窗口。因此分层窗口能够被平滑的渲染,并且不会有典型混合窗口区域的闪烁的情况。此外分层窗口还能够有部分窗口半透明的效果,这是因为alpha效果的混合

    也就是在多窗口叠加的时候使用这个属性?

    分层窗口实际上一种在Windows下能够自动地与非活动窗口进行合成的一种窗口.

    利用分层窗口可以实现不规则窗口和窗口的Alpha混合效果。操作系统自动混合和重画分层窗口而且平滑渲染和没有抖颤。

    分层窗口的特点就在于,它将窗口的绘制操作进行了重新定义::【由操作系统(而不是应用程序),完成重绘操作,完成的方式是"合成":将窗口看成一副位图,窗口外形的变化只是"位图"的变化!而不需要非得通过对WM_PAINT消息来进行.这样就能够保证分层窗口在概念上包括两层含义:与传统相比,这种窗口从外观上看起来恩奇怪(它可以是透明或者半透明的,或者是异性的);二是【重定向】:对窗口的重绘操作不需要你手工添加代码来维护,系统会自动将重绘操作在后台完成!

    http://msdn.microsoft.com/en-us/library/ms997507.aspx

    什么是“仅消息”窗口

    一个“仅消息”的窗口允许你发送和接收消息。它是不可见的,没有z序,不能够被枚举,并且不能接收广播消息。这种窗口只是简单的派遣(中转)消息。


    总参考:
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms632599(v=vs.85).aspx#types
    http://bbs.csdn.net/topics/390716333?page=1

    展开全文
  • Windows 窗口类型

    千次阅读 2016-06-07 11:32:41
    windows编程中,最基本的就是窗口了,调用函数CreateWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth,int nHeight,HWND hWndParent, HMENU hMenu,...
    windows编程中,最基本的就是窗口了,调用函数CreateWindow
    (
    LPCTSTR lpClassName, 
    LPCTSTR lpWindowName, 
    DWORD dwStyle, 
    int x, 
    int y, 
    int nWidth,
    int nHeight,
    HWND hWndParent, 
    HMENU hMenu,
    HANDLE hlnstance,
    LPVOID lpParam)
    

    ,指定参数dwStyle可以创建各式各样的窗口,为了方便,特从MSDN上翻译出dwStyle可取值得各种类型,以供以后编程查阅方便。

    WS_BORDER 带边框的窗口
    WS_CAPTION 带标题栏窗口,包含WS_BORDER 属性
    WS_CHILD 子窗口,带有此风格的窗口没有菜单栏,与WS_POPUP不能共用
    WS_CHILDWINDOW 与WS_CHILD一样
    WS_CLIPCHILDREN 创建父窗口时使用,当父窗口绘画时,子窗口区域无效
    WS_CLIPSIBLINGS 排除子窗口之间的相对区域,也就是,当一个指定的子窗口接收到WM_PAINT消息时,WS_CLIPSIBLINGS 风格 将所有层叠窗口排除在绘图之外,只重绘指定的子窗口。如果未指定WS_CLIPSIBLINGS风格,并且子窗口是层 叠的,则在重绘子窗口的客户区时,就会重绘邻近的子窗口
    WS_DISABLED 指定窗口不接受用户的任何输入信息。创建了具有该属性的窗口口,可以使用 EnableWindow函数来改变这个属
    WS_DLGFRAME 具有边框属性的对话框,没有标题栏
    WS_HSCROLL 具有水平滚动条
    WS_MAXIMIZE 最大化窗口
    WS_ICONIC 最小化窗口,与WS_MINIMIZE 一样
    WS_GROUP 指定一组控制的第一个控制。这个控制组由第一个控制和随后定义的控制组成,自第二个控制开始每个控制,具 有WS_GROUP风格,每个组的第一个控制带有WS_TABSTOP风格,从而使用户可以在组间移动。用户随后可以 使用光标在组内的控制间改变键盘焦点
    WS_MAXIMIZEBOX 具有最大化按钮的窗口,不能与WS_EX_CONTEXTHELP 共用,且WS_SYSMENU必须指定
    WS_MINIMIZE 与WS_ICONIC 一样
    WS_MINIMIZEBOX 具有最小化按钮的窗口,不能与WS_EX_CONTEXTHELP 共用,且WS_SYSMENU必须指定
    WS_OVERLAPPED 层叠窗口,该窗口具有标题栏和边框,与WS_TILED相同
    WS_OVERLAPPEDWINDOW 层叠窗口,与WS_TILEDWINDOW 相同,包含WS_OVERLAPPEDWINDOW=WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX
    WS_POPUP 弹出窗口,不能与WS_CHILD 一起使用
    WS_POPUPWINDOW 弹出窗口,WS_CAPTION 与WS_POPUPWINDOW结合一起使用来使菜单栏可见 WS_POPUPWINDOW=WS_POPUP | WS_BORDER | WS_SYSMENU
    WS_SIZEBOX 可调边框的窗口,与WS_THICKFRAME 相同
    WS_THICKFRAME 与WS_SIZEBOX相同
    WS_SYSMENU 创建一个在标题条上带有窗口菜单的窗口,必须同时设定WS_CAPTION风格
    WS_TABSTOP 创建一个控制,这个控制在用户按下Tab键时可以获得键盘焦点。按下Tab键后使键盘焦点转移到下一具有 WS_TABSTOP风格的控制
    WS_TILED 产生一个层叠的窗口。一个层叠的窗口有一个标题和一个边框,和WS_OVERLAPPED 一样
    WS_TILEDWINDOW WS_TILEDWINDOW=WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX,层叠窗口,与WS_OVERLAPPEDWINDOW 相同
    WS_VISIBLE 可见窗口, 通过使用ShowWindow 或 SetWindowPos来关闭或开启这个风格
    WS_VSCROLL 带垂直滚动条的窗口

    展开全文
  • windows 窗口类型

    千次阅读 2016-06-07 11:41:30
    windows编程中,调用创建窗口时 CS_BYTEALIGNCLIENT 指定窗口的客户区域距离边界距离(x轴),这个风格会影响窗口的宽度和水平位置显示 CS_BYTEALIGNWINDOW 指定窗口距离边界的距离(x轴),这个风格会影响窗口的...

    windows编程中,调用CreateWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth,int nHeight,HWND hWndParent, HMENU hMenu,HANDLE hlnstance,LPVOID lpParam)创建窗口,需要lpClassName,该参数指定的是一个已创建的类的类名,多个窗口可以通过调用该类来创建不同类型的窗口。结构体WNDCLASSEX既是包含了类的相关信息,如类名和回调函数等。我们可以在该结构体中指定结构体成员style的值来指定由该类创建的窗口的一些属性,属性值如下:

    CS_BYTEALIGNCLIENT 指定窗口的客户区域距离边界距离(x轴),这个风格会影响窗口的宽度和水平位 置显示

    CS_BYTEALIGNWINDOW 指定窗口距离边界的距离(x轴),这个风格会影响窗口的宽度和水平位置显示
    CS_CLASSDC 共享同一个窗口类的所有窗口也共享同一个设备环境,当多个线程使用该类创建 一个窗口时,仅仅只有一个窗口会成功完成
    CS_DBLCLKS 当用户移动光标至该类创建的窗口的区域中双击时,发送双击消息给窗口程序
    CS_DROPSHADOW 开启窗口阴影效果,可以通过SPI_SETDROPSHADOW来开启或关闭该属性。这 个属性对于小的,短暂的窗口都是有用的。通过具有该属性的类创建的窗口必须 是顶级窗口,不能是子窗口
    CS_GLOBALCLASS 指明该类是全局的
    CS_HREDRAW 如果窗口移动位置或客户区宽度变化,则重绘整个窗口
    CS_NOCLOSE 禁止窗口按钮中的关闭按钮
    CS_OWNDC 为每个共用该窗口类的不同窗口分配一个独立的设备环境
    CS_PARENTDC 将子窗口的裁剪区域设置到父窗口的环境中去,这样子窗口便可以在父窗口上绘 制自身。注意,这是子窗口还是从系统缓存中获取DC,而不是使用父窗口的 DC。使用该风格可以提高系统性能
    CS_SAVEBITS 以位图形式保存被该窗口遮挡的屏幕部分,这样当给窗口移动以后,系统便可以 用该保存的位图恢复屏幕移动的相应部分,从而系统不用向被该窗口遮挡的窗口 发送 WM_PAINT 消息。该特性对于菜单类型的窗口比较合适,因为它通常是简 短的显示一下之后便消失。设置该特性将增加显示该窗口的时间,因为它通常要 先分配保存位图的内存
    CS_VREDRAW 如果窗口移动位置或客户区高度变化,则重绘整个窗口
    展开全文
  • Windows窗口绘制、窗口类型小结

    千次阅读 2013-12-22 16:22:05
     1)更新区域是窗口中过期或无效,需要重绘的区域。系统依靠更新区域向应用程序发送WM_PAINT消息。  WM_PAINT产生的条件:有需要更新的区域,并且消息队列中没有其它消息时。  2)相关API:  InvalidateRect/...
    一、绘图
    1、更新区域(update region)
        1)更新区域是窗口中过期或无效,需要重绘的区域。系统依靠更新区域向应用程序发送WM_PAINT消息。
            WM_PAINT产生的条件:有需要更新的区域,并且消息队列中没有其它消息时。
        2)相关API:
            InvalidateRect/InvalidateRgn:无效化一块区域;
            ValidateRect/ValidateRgn:有效化一块区域,将这块区域从更新区域中去掉。
            GetUpdateRect/GetUpdateRgn:获得更新矩形/区域。
            UpdateWindow:如果更新区域非空,立即发送WM_PAINT消息;
            RedrawWindow:不管更新区域是否为空,立即发送WM_PAINT消息。

    二、窗口
    1、窗口的类型
        Windows窗口分为3种类型:
         #define WS_OVERLAPPED             0x00000000L
           #define WS_POPUP                       0x80000000L
           #define WS_CHILD                       0x40000000L
        Child窗口是其它窗口的子窗口;
        popup窗口是弹出窗口,适合做主窗口;
        overplapped是重叠窗口,默认有标题栏和边框。即使显示去掉WS_CAPTION和WS_BORDER这些风格,Windows还是会加上标题栏和边框。适合做主窗口。重叠窗口是top-level窗口,不能成为子窗口。
    2、窗口与窗口的关系
        1)Destop窗口
         桌面窗口,一个特殊的窗口,可以理解为就是桌面。
        2)top-level窗口
        没有WS_CHILD属性的窗口,父窗口一般为Desktop或者NULL。Windows发送某些消息的时候一般要求是top-level窗口,如HWND_BROADCAST、WM_DISPLAYCHANGE等。
        3)子窗口
        具有WS_CHILD属性的窗口为子窗口。子窗口只能出现在父窗口的客户区内。如果要使一个窗口随另一个窗口一起移动,可以考虑使其成为另一个窗口的子窗口。需要注意的是,当父窗口移动时,子窗口不会收到WM_MOVE等消息,因为子窗口相对于父窗口并没有移动。
        4)parent和owner关系
        这个暂时还没发现实际中owner有啥用,主要是parent-child关系常用。
    3、常用窗口风格
        WS_CLIPSIBLINGS:用于兄弟窗口,即有相同父窗口的子窗口。设置了该风格的子窗口需要重绘(收到WM_PAINT消息)时,将剪裁其它子窗口的重叠部分,被遮挡的区域不进行重绘。如果没有这个属性,子窗口绘制时可能会绘制到兄弟窗口的客户区上。因此所有的top-level窗口都具有这个属性。
        WS_CLIPCHILDREN:用于父窗口。设置了这个属性,当父窗口进行绘制时,子窗口的区域父窗口不负责进行绘制,子窗口自行绘制。


    展开全文
  • 种窗口类型

    千次阅读 2013-06-02 16:53:11
     MFC提供三种类型的框架窗口:单文档窗口,多文档窗口(MDI),对话框。在AppWizard的第一个对话框中,就提供了选项,让用户选择应用程序是基于单文档、多文档还是对话框的。MFC单文档窗口一次只能打开一个文档框架...
  • python操作Windows窗口程序

    万次阅读 多人点赞 2018-03-16 17:23:09
    场景 定时获取数据接口数据写入Excel表格,Excel需要被其他程序使用,需要...其次,为了方面查找目标窗口的句柄,可以下载一个微软自家的Spy++,这玩意儿满大街都是。有了它,还能很方便的查看窗体的消息。 句柄是...
  • C++ WINDOWS 创建WINDOWS窗口模型

    千次阅读 2019-04-14 16:57:39
    C++ WINDOWS 创建WINDOWS窗口模型 #include <windows.h> //定义消息回调函数 HWND UINT WPARAM LPARAM 返回参数 LRESULT LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);...
  • Windows窗口及对话框

    千次阅读 2016-02-18 22:19:46
    1、Windows窗口介绍    在Windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理窗口,这个数据结构中有四个数据用来构建list,即child、...
  • Windows 窗口层次关系

    千次阅读 2014-05-14 11:08:32
    相信在Windows 下面编程的很多兄弟们都不是很清楚Windows窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所以便整理一下。下面就说说Windows 中桌面(Desktop...
  • wxWidgets窗口类型

    千次阅读 2009-09-13 20:37:00
    窗口类型如果在创建窗口的时候你没有指定窗口的边框类型,那么在不同的平台上将会有不同的边框类型的缺省值。在windows平台上,控件边框的缺省值为 wxSUNKEN_BORDER,意为使用当前系统风格的边框。你可以使用类似wxNO...
  • Windows程序设计--窗口与消息

    千次阅读 2015-09-09 14:43:04
    进行Windows程序设计时,其实就是在进行一面向对象的编程。在面向对象中,对象是代码和数据的组合,一个窗口也是一个对象。在用户眼中,窗口是屏幕上的对象,并可借助键盘或鼠标直接与之进行交互。用户对窗口的...
  • 文章目录一、前言二、使用Spy++工具分析窗口、C#通过Windows API捕获窗口,获取窗口文本四、附录:Windows窗口消息 一、前言 项目是Unity开发的,上架了QQ游戏大厅,需要兼容XP系统。 QQ游戏大厅启动游戏的流程是...
  • Android WindowManager窗口类型

    千次阅读 2016-07-29 17:47:59
    WindowManagerWindowManager继承自ViewManager,主要用来管理窗口的一些状态、属性、view增加、删除、更新、窗口顺序、消息收集和处理等。应用获取方法:Context.getSystemService(Context.WINDOW_SERVICE);Window...
  • Windows编程-创建窗口

    千次阅读 2016-08-04 23:10:22
    窗口创建的基本步骤是: 设计窗口类 注册窗口类 创建窗口 显示更新窗口 消息循环 编写回调函数——————————帅气的分割线—————————– 下面我们一步一步进行讲解: 1.设计窗口类WNDCLASS我们查看...
  • Windows窗口程序设计中,按钮、文本编辑框等控件都作为一个子窗口在WM_CREATE事件中创建的。其中按钮类button有多种类型和风格,常见的单选钮、复选钮、分组框也在此类中,见下表: 子窗口控件:按钮类button ...
  • (本文尝试通过一些简单的实验,来分析Windows窗口机制,并对微软的设计理由进行一定的猜测,需要读者具备C++、Windows编程及MFC经验,还得有一定动手能力。文中可能出现一些术语不统一的现象,比如“子窗口”,有...
  • Windows窗口机制

    千次阅读 2014-04-04 22:02:15
    本文是在学习Windows Feature时的笔记:
  • Windows窗口刷新机制相关

    千次阅读 2014-06-21 20:30:27
    Windows窗口刷新机制 1、Windows窗口刷新管理 窗口句柄(HWND)都是由操作系统内核管理的,系统内部有一个z-order序列,记录着当前窗口从屏幕底部(假象的从屏幕到眼睛的方向),到屏幕最高层的一个窗口句柄的...
  • WindowsAPI】窗口类API

    千次阅读 2019-09-22 16:48:10
    窗口类API汇总(持续更新) 1.FindWindowA() 获取窗口句柄 2.SetWindowPos() 设置窗口的位置、大小和显示方式 窗口类API汇总(持续更新) 1.FindWindowA() 获取窗口句柄 官方文档 (1)语法: HWND ...
  • Pywin32处理是一个32位整数,用于标记对象在windows中,类似于一个字典找到一个关键的窗口句柄看起来像在win32编程的世界,所有控件从windows到文本框,和所有的windows独立处理。操作任何窗口,你需要找到这个窗口的句柄...
  • Windows系统cmd窗口的输入(cin)终止符   C++的输入操作"cin>>", 把值传入特定的类型, 如传入std::string类型, 则回车(Enter)无法终止输入操作, 则需要"Ctrl+Z"进行终止. 具体方法: 输入数据完成, (1) 回车(Enter) ...
  • Windows窗口刷新机制详解

    千次阅读 2017-12-28 16:00:13
    1、Windows窗口刷新管理 窗口句柄(HWND)都是由操作系统内核管理的,系统内部有一个z-order序列,记录着当前窗口从屏幕底部(假象的从屏幕到眼睛的方向),到屏幕最高层的一个窗口句柄的排序,这个排序不关注...
  • Windows下cmd窗口连接mysql

    万次阅读 2018-01-09 17:45:45
    如图,Windows下搜索cmd,回车 在DOS命令窗口输入 mysql -hlocalhost -uroot -p回车 进入mysql数据库,其中-h表示服务器名,localhost表示本地;-u为数据库用户名,root是mysql默认用户名;-p为密码,如果...
  • Layered Windows:层叠窗口

    千次阅读 2007-08-18 13:14:00
    Layered WindowsUsing a layered window can significantly improve performance and visual effects for a window that has a complex shape, animates its shape, or wishes to use alpha blending effects....
  • 最近需要添加一个Windows功能,可以打开“打开或关闭Windows功能”窗口之后就是空白的,折腾了很久很久才找出了下面这个解决方案  在运行里输入regedit打开注册表编辑器  找到 HKEY_LOCAL_MACHINE\System\...
  • 1.MFC编程和一般的windows编程是不同的,但是又是相同的,MFC是微软封装好的一个基础类库,一套API,生成代码时我们找不到它的WinMain函数,是因为被封装了,建立一个单文档,MFC标准的程序时,系统会自动的生成代码...
  • 返回值是HWND类型。需要的头文件是#include &lt;Windows.h&gt;,库为user32.dll。 第二步,如何通过句柄显示或者隐藏窗口? 答案,有2方法。 1: // 显示窗口 ShowWindow(hWnd, SW_SH...
  • Windows编程捕获特定窗口及键盘鼠标消息模拟一、简介二、使用到的API简介、获取Windows记事本的编辑区窗口的句柄并模拟输入操作1、分析2、代码一3、代码二四、后记 一、简介 窗口Windows的核心组件,Windoows下...
  • 对于windows api中创建的窗口,可以通过SetWindowLong函数修改其样式。 函数声明为: LONG SetWindowLongA( HWND hWnd, int nIndex, LONG dwNewLong ); 第二个参数nIndex表示样式的类别,最常见的两个取值为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 276,337
精华内容 110,534
关键字:

windows三种窗口类型