LONG lExStyle = ::GetWindowLong(m_hWnd, GWL_EXSTYLE);
// 투명화 조정하려면 윈도우의 스타일이 WS_EX_LAYERED 여야 함
lExStyle = lExStyle | WS_EX_LAYERED;
// 윈도우 스타일 설정하기
::SetWindowLong(m_hWnd, GWL_EXSTYLE, lExStyle);
// 투명하게 하기
// SetLayeredWindowAttributes(윈도우핸들, 색상키, 투명도, 플래그)
::SetLayeredWindowAttributes(m_hWnd, 0, 0, LWA_ALPHA);
색상키 : 레이어 창을 구성할 때 사용할 투명 색상 키를 지정하는 COLORREF 구조입니다. 이 색상으로 창에 그려진 모든 픽셀은 투명합니다. COLORREF를 생성하려면 RGB 매크로를 사용합니다.
투명도 : 계층화된 창의 불투명도를 설명하는 데 사용되는 알파 값입니다. BLAND FUNCTION 구조의 SourceConstantAlpha 멤버와 유사합니다. bAlpha가 0이면 창이 완전히 투명해집니다. bAlpha가 255이면 창이 불투명합니다.
플래그 : 수행할 작업으로 다음과 같이 두가지가 있다.
LWA_ALPHA (0x00000002) : 계층화된 창의 불투명도를 확인합니다.
LWA_COLORKEY (0x00000001) : 투명 색상으로 색상키를 사용합니다.
반환값 : 함수가 성공하면 반환 값은 0이 아닙니다. 함수가 실패하면 반환 값은 0이 됩니다.
확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
※ 참조
계층화된 창에 대해 SetLayeredWindowAttributes가 호출되면 계층화 스타일 비트를 지우고 다시 설정할 때까지 후속 UpdateLayeredWindow 호출이 실패합니다.
'기본카테고리' 카테고리의 다른 글
[c++] 태스크바 자동숨기기 및 태스크바 복구 (0) | 2023.04.25 |
---|---|
[C#] 서비스 등록/삭제 및 시작/종료 (0) | 2022.12.21 |
[Ms-Sql]엑셀파일의 내용을 MsSQL Server에 가져오는 방법 (0) | 2017.09.25 |
[C#] 유용한 기능 (0) | 2017.09.25 |
Windows 8.1에서 원격데스크탑 설정 (1) | 2015.05.30 |