作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
所以,我有一个 WINDOWCLASSX,我想将其设置为背景,包括 alpha channel ,但我只看到了一个“RGB”宏;没有 RGBA。
那么如何在 hbrBackground 上设置 alpha?这是我的代码:
WNDCLASSEX wincl;
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof (WNDCLASSEX);
wincl.hIcon = LoadIcon (GetModuleHandle(0), MAKEINTRESOURCE(IDI_MYAPP));
wincl.hIconSm = LoadIcon (GetModuleHandle(0), MAKEINTRESOURCE(IDI_MYAPP));
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = MAKEINTRESOURCE(IDR_MAINFRAME);
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
在最后一行,我希望能够设置 alpha。
-感谢您的帮助。
最佳答案
您不能在窗口类上使用背景画笔创建 alpha channel 。您必须改为将 WS_EX_LAYERED
样式应用于窗口,然后使用 SetLayeredWindowAttributes()
或 UpdateLayeredWindow()
来设置窗口的 alpha channel 。阅读 MSDN 文档了解更多详情:
关于c++ - 如何设置 WINDOWCLASSX hbrBackground alpha channel ? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10022391/
所以,我有一个 WINDOWCLASSX,我想将其设置为背景,包括 alpha channel ,但我只看到了一个“RGB”宏;没有 RGBA。 那么如何在 hbrBackground 上设置 alp
我是一名优秀的程序员,十分优秀!