分层窗口技术
用途:用于实现异形窗口和整体透明窗口。
前提技术:
1.理解SetWindowLong,SetWindow就是设置窗口属性的意思。在计算机的世界中,就是用的01来代表不同的含义。Windows系统的位长经历过从16位到32位再到64位的变迁。同时早期的C语言的int是16位的,用int不足以表达所有windows的属性,于是使用了long类型来存储窗口的属性
2.带有WS_EX_LAYERED风格的窗口也就是我们说的分层窗口,主要是为了实现异形窗口和窗口整体透明。
要实现窗口的整体透明,则需要首先设置WS_EX_LAYERED风格,然后调用SetLayeredWindowAttribute函数设置透明度。
具体使用的参考代码:
#include <iostream>
#include <graphics.h>
#include <conio.h>
#define PI 3.1415926
using namespace std ;
int main() {
initgraph(GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN),1);
HWND hwnd = GetHWnd();//使用EasyX提供的API获取绘图窗口句柄
//设置窗口的属性:不显示标题
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) - WS_CAPTION)