Windows编程C++之句柄
来源:互联网 发布:网游之演技一流张知 编辑:程序博客网 时间:2024/06/01 09:18
什么是窗口?
窗口是windows编程的核心,那什么是窗口?此时浮现在你脑中窗口的应该是这个样子的
这种类型的窗口叫做应用窗口或者主窗口,窗口内部的区域叫做client area,是由用户自己的程序管理的,窗口外的区域是由OS管理的。下图是另外一种类型的窗口。
是的,不要怀疑,这确实也是一种窗口!在Windows编程中,UI的控件,例如Button或者edit box,它们自身就是窗口。UI控件和应用程序窗口最大的不同就是控件自己是不能存在的。也就是说,控件必须放在窗口当中。当你拖拽一个窗口的时候,控件会随着窗口移动。除此之外,控件和应用程序窗口可以communicate。因此,当你想到窗口的时候,不要仅仅想到应用程序窗口;一个窗口应该包含以下特点•占据屏幕特定的区域•有时可能不可见•自己知道如何重绘•响应用户或者操作系统的事件
父窗口和Owner窗口
控件窗口是应用程序窗口的child,应用程序窗口是控件窗口的Parent。应用程序窗口为子窗口提供用于定位耳朵坐标系。并且,父窗口会在外观上影响子窗口;例如,没有子窗口能够出现在父窗口的边界之外,如果越界,则被剪裁。当应用程序显示一个对话框的时候,应用程序窗口就是owner窗口,对话框就是owned窗口。当owner最小化的时候,owned会被隐藏;也会随着owner的destory而消失。
窗口句柄
窗口是对象,但窗口不是类。程序通过句柄来管理窗口,句柄不太好理解,OS通过句柄去识别对象。你可以把windows想象成拥有很多窗口的表格,他通过句柄在这张表中寻找对应的窗口。窗口句柄的数据类型是HWND,创建窗口函数CreateWindow和CreateWindowEx的返回值就是窗口句柄。当你想在窗口中执行某种操作,你将会调用把句柄作为参数的函数。例如,在屏幕上重新定位窗口,要调用MoveWindow函数。
BOOL MoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint);
第一个参数就是窗口句柄,后面的参数是窗口的大小位置以及是否要重绘窗口。!记住,句柄不是指针,没有*hwnd的用法
0 0
- Windows编程C++之句柄
- windows编程学习之句柄
- windows编程入门之句柄 spy++
- Windows编程之句柄(经典解释)
- Windows编程之句柄(经典解释)
- Windows编程---句柄
- windows编程 句柄是什么
- Windows核心编程---句柄和伪句柄
- windows句柄之实质
- Window 编程之句柄篇
- 句柄,是整个windows编程的基础
- 探讨Windows编程中句柄的本质
- Windows核心编程笔记(1)----句柄
- Windows编程入门-设备环境句柄
- windows编程(1)-句柄,内核对象
- Windows源代码阅读之 句柄算法
- Windows C/SDK编程之unicode
- C++Windows编程之创建窗口
- HTTP的GET请求中文乱码
- Linux编程中目录内容的读取(实现ls功能)
- iOS 真机 Could not launch "***"
- Spring的AOP支持 使用Annotation方式
- 正则表达式
- Windows编程C++之句柄
- spark的task调度器(FIFO先进先出调度算法)
- bugfree配置和使用
- Installshield 打包安装包心得
- JetBrains宣布Project Rider:一款C#跨平台IDE
- HTML和CSS复习知识点
- Java线程:概念与原理
- 数组基础
- POJ 1703 --并查集(具体类别未知的划分)