mfc cGroupBox 设置透明 TRANSPARENT
时间: 2024-05-16 22:18:18 浏览: 82
MFC实现透明窗口
5星 · 资源好评率100%
要使 MFC 中的 CGroupBox 控件透明,可以使用 SetWindowLong 函数来改变控件的样式。具体来说,可以使用以下代码:
```cpp
CGroupBox myGroupBox;
myGroupBox.Create(_T("My Group Box"), WS_CHILD | WS_VISIBLE | BS_GROUPBOX, CRect(10, 10, 200, 100), pParentWnd, 1);
// 设置控件透明
LONG style = GetWindowLong(myGroupBox.m_hWnd, GWL_STYLE);
style |= WS_EX_TRANSPARENT;
SetWindowLong(myGroupBox.m_hWnd, GWL_STYLE, style);
```
这里首先创建了一个 CGroupBox 控件,并设置了其样式为 WS_CHILD、WS_VISIBLE 和 BS_GROUPBOX。然后,使用 GetWindowLong 函数获取控件的样式,使用位运算符将 WS_EX_TRANSPARENT 样式添加到样式中,最后使用 SetWindowLong 函数将修改后的样式设置回控件中。
需要注意的是,SetWindowLong 函数需要在控件创建之后才能调用,否则可能会出现错误。此外,将控件设置为透明后,它所在的父窗口也需要是透明的,否则控件仍然会被父窗口遮盖。
阅读全文