Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Simple Developer
Simple Developer
투명 다이얼로그 만들기
다이얼로그의 OnInitDialog() 함수에서 다음과 같이 코딩한다 .
Visual C++ 6.0 일 경우
Window 2000 이상에서 지원되는 기능으로 Layered Window 특성을 이용해야한다 . VC++ 6.0 에서는 지원되지 않으므로 함수가 있는 USER32.DLL 에서 함수를 직접호출하여야 한다 .
#define WS_EX_LAYERED 0x00080000 #define LWA_ALPHA 0x00000002 typedef BOOL(WINAPI *SLWA)(HWND, COLORREF, BYTE, DWORD); SLWA pSetLayeredWindowAttributes = NULL; HINSTANCE hmodUSER32 = LoadLibrary(“USER32.DLL”); pSetLayeredWindowAttributes=(SLWA)GetProcAddress(hmodUSER32,”SetLayeredWindowAttributes”); HWND hwnd = this->m_hWnd; SetWindowLong(hwnd,GWL_EXSTYLE,GetWindowLong(hwnd,GWL_EXSTYLE) | WS_EX_LAYERED); pSetLayeredWindowAttributes(hwnd,0,(255*10)/100,LWA_ALPHA); |
Visual C++.NET 의 경우
SetWindowLong(m_hWnd, GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE) | WS_EX_LAYERED); ::SetLayeredWindowAttributes(m_hWnd, 0, (255*10)/100, LWA_ALPHA); |