Programming/Win32&MFC&COM
MFC에서 프로그램의 hInstance와 hWnd 구하기
psychoria
2015. 1. 1. 01:00
반응형
MFC에서 hInst와 hWnd를 필요로 할 때가 있습니다.
Win32 API함수 등을 이용할 때 사용해야 할 필요가 생깁니다.
// hInstance를 구하는 법 AfxGetInstanceHandle(); // hWnd를 구하는 법 GetSafeHwnd();
이 2개를 이용해서 사용하면 됩니다.
예제 코드는 다음과 같습니다.
::SetWindowLong(GetSafeHwnd(), GWL_EXSTYLE, ::GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE) | WS_EX_LAYERED); this->SetLayeredWindowAttributes(RGB(0, 0, 255), 128, LWA_ALPHA | LWA_COLORKEY);
윈도우를 투명하게 만들어주는 코드로 GetSafeHwnd()가 사용되는 것을 볼 수 있습니다.
다이어로그 기반에서 이렇게만 넣어줘도 다이어로그의 투명화가 이루어집니다.
물론 이런 방법 말고도 해당 윈도우 내에서 사용할 때는 this->m_hWnd를 쓰셔도 됩니다.
핸들을 반환하는 함수는 대부분 유효하지 않은 객체에 대해서는 NULL을 리턴합니다.
NULL 체크를 하는 코드를 반드시 추가하는 것을 권장합니다.
반응형