SetWindowLong(hWnd, GWL_EXSTYLE,
GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_LAYERED);
// Make this window 70% alpha
SetLayeredWindowAttributes(hWnd, 0, (255 * 70) / 100, LWA_ALPHA);
Можно и создать окно полупрозрачным:
hWnd = CreateWindowEx(WS_EX_LAYERED,
s_szWndClassName, s_szWndClassName,
WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
NULL, NULL, hInstance, NULL);
WS_EX_LAYERED и SetLayeredWindowAttributes появились в Windows 2000, поэтому нужно только не забыть про два определения в начале програмы:
#define WINVER 0x0501
#define _WIN32_WINNT 0x0501
Эта статья на Experts-Exchange: Win32: Semi-Transparent Window
No comments:
Post a Comment