M
in der stdafx.h oder irgendwo global im projekt:
# define LWA_COLORKEY 1
# define LWA_ALPHA 2
# define WS_EX_LAYERED 0x80000
dann in deiner dialog-klasse:
#include windows.h
void CClass::SetSeeThru(int factor)
{
HWND hWnd=this->m_hWnd;
typedef DWORD (WINAPI *PSLWA)(HWND, DWORD, BYTE, DWORD);
PSLWA pSetLayeredWindowAttributes;
HMODULE hDLL = LoadLibrary ("user32");
pSetLayeredWindowAttributes = (PSLWA) GetProcAddress(hDLL,"SetLayeredWindowAttributes");
if (pSetLayeredWindowAttributes != NULL)
{
SetWindowLong (hWnd, GWL_EXSTYLE, GetWindowLong
(hWnd, GWL_EXSTYLE) |WS_EX_LAYERED/*|WS_EX_TOOLWINDOW*/ );
pSetLayeredWindowAttributes (hWnd, RGB(100,100,100), factor, LWA_COLORKEY|LWA_ALPHA);
}
bAlphaBlend = ! bAlphaBlend;
FreeLibrary(hDLL);
}
int factor liegt zwischen 0 und 255 und gibt die transparenz des kompletten dialoges an. mit RGB(100,100,100) kannst du eine bestimmte farbe definieren, welche komplett transparent sein soll.