现在的位置: 首页 > 综合 > 正文

VC 对话框背景透明

2013年08月04日 ⁄ 综合 ⁄ 共 643字 ⁄ 字号 评论关闭
BOOL CCommonDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    // TODO:  Add extra initialization here
    //VS2003以上版本
    SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE)|WS_EX_LAYERED);
    SetLayeredWindowAttributes(0,200,LWA_ALPHA);
    //VS2003以下版本
//     SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE)|0x00080000);
//     HINSTANCE hInst = LoadLibrary(_T("User32.dll"));
//     if (hInst)
//     {
//         typedef BOOL (WINAPI *MyFun)(HWND,COLORREF,BYTE,DWORD);
//         MyFun myfun = NULL;
//         myfun = (MyFun)GetProcAddress(hInst, "SetLayeredWindowAttributes");
//         if (myfun) myfun(GetSafeHwnd(),0,190,2);
//         FreeLibrary(hInst);
//     }

    return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

抱歉!评论已关闭.