CreateWindowExW窗口边框设置颜色
时间: 2024-09-22 22:04:31 浏览: 103
CreateWindowExW函数主要用于在Windows API中创建一个新的窗口,它允许你自定义窗口的各种属性,包括边框的颜色。要设置窗口边框的颜色,你需要通过`WS_EX Styles`标志中的`WS_EX_CLIENTEDGE`来启用客户区边框,并通过`SetWindowLong`函数与`GDW玻璃效果`(Glass Drawings Window)一起设置`BORDER_COLOR`。
首先,你需要在`CreateWindowExW`的`style`参数中添加`WS_EX_CLIENTEDGE`,例如:
```cpp
DWORD style = WS_OVERLAPPEDWINDOW | WS_EX_CLIENTEDGE;
```
然后,你可以使用`SetWindowLong`函数来改变边框颜色。这里以RGB值为例,将颜色转换成长整型再传递:
```cpp
HBRUSH borderColor = CreateSolidBrush(RGB(0xFF, 0x00, 0x00)); // 红色边框
SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_CLIENTEDGE);
SetWindowLong(hwnd, GWL_borderColor, (LONG_PTR)borderColor);
DeleteObject(borderColor); // 释放HBRUSH资源
```
在这个例子中,`hwnd`是你要操作的窗口句柄。
请注意,Windows的API对边框颜色的处理可能会因为版本变化而有所不同,尤其是从Win7及以后的版本开始,Windows开始使用透明或半透明的效果,这可能会影响到边框颜色的表现。
阅读全文