수년전에 내가 어느 사이트를 통해 답변한 글인데..
지금 보니 뭐가 뭔지 기억이 안난다. ㅋ
일단 중요한 것은 아래와 같다.
// 헤더파일에..여러 상수 지정. 옵션을 바꿀 수도 있슴.
#define WS_EX_LAYERED 0x00080000
#define LWA_COLORKEY 0x00000001
#define LWA_ALPHA 0x00000002
#define ULW_COLORKEY 0x00000001
#define ULW_ALPHA 0x00000002
#define ULW_OPAQUE 0x00000004
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 * 70) / 100, LWA_ALPHA);
pSetLayeredWindowAttributes(hwnd, 0, (255 * 70) / 100, LWA_ALPHA);
// pSetLayeredWindowAttributes(hwnd, 0, (255 * 70) / 100, LWA_COLORKEY);
// 다이얼로그 반투명하게 만듬.
자세한 응용방법은 소스를 참조하면 된다.
간단한 메모 프로그램인데
완벽하지는 않다. 어릴때 짜놓은 거라서 -_-;
알파블랜딩 값을 입력할때 엔터키를 치면 프로그램이 종료된다.
그 문제는 다른 포스트에 적어놓았다.
0% 는.. 추천하지 않는다. -_-;; 보이지가 않기 때문이다. ㅋ
지금 보니 뭐가 뭔지 기억이 안난다. ㅋ
일단 중요한 것은 아래와 같다.
// 헤더파일에..여러 상수 지정. 옵션을 바꿀 수도 있슴.
#define WS_EX_LAYERED 0x00080000
#define LWA_COLORKEY 0x00000001
#define LWA_ALPHA 0x00000002
#define ULW_COLORKEY 0x00000001
#define ULW_ALPHA 0x00000002
#define ULW_OPAQUE 0x00000004
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 * 70) / 100, LWA_ALPHA);
pSetLayeredWindowAttributes(hwnd, 0, (255 * 70) / 100, LWA_ALPHA);
// pSetLayeredWindowAttributes(hwnd, 0, (255 * 70) / 100, LWA_COLORKEY);
// 다이얼로그 반투명하게 만듬.
자세한 응용방법은 소스를 참조하면 된다.
간단한 메모 프로그램인데
완벽하지는 않다. 어릴때 짜놓은 거라서 -_-;
알파블랜딩 값을 입력할때 엔터키를 치면 프로그램이 종료된다.
그 문제는 다른 포스트에 적어놓았다.
0% 는.. 추천하지 않는다. -_-;; 보이지가 않기 때문이다. ㅋ