반응형
Dialog 에 OnInitDialog()함수내에 다음과 같은 구문을 추가하면 된다.

BOOL SizeWindowDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    typedef BOOL(WINAPI *SLWA)(HWND,COLORREF,BYTE,DWORD);
    SLWA pSetLayeredWindowAttributes = NULL;
    HINSTANCE hmodUSER32 = LoadLibrary(_T("USER32.DLL"));
   
    pSetLayeredWindowAttributes =    (SLWA)GetProcAddress(hmodUSER32,"SetLayeredWindowAttributes");

    HWND hwnd = this->m_hWnd;
    SetWindowLong(hwnd,GWL_EXSTYLE,GetWindowLong(hwnd,GWL_EXSTYLE) | WS_EX_LAYERED);
    BYTE byAlpha = 70; //투명도 설정
    COLORREF cr = GetSysColor(COLOR_BTNFACE);
    SetLayeredWindowAttributes( cr, byAlpha, LWA_COLORKEY );

return TRUE;
}


마지막의 LWA_COLORKEY 옵션의 변경을 통하여 여러 형태의 Dialog가 가능하다.

나머지는 MSDN을 참고하여 수정가능함
반응형

+ Recent posts