在Dialog的OnInitDialog()中加入一下代码
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE, 

GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000); 

HINSTANCE hInst = LoadLibrary("User32.DLL"); 

if(hInst) 



typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD); 

MYFUNC fun = NULL; 

//取得SetLayeredWindowAttributes函数指针 

fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes"); 

if(fun)fun(this->GetSafeHwnd(),0,128,2); 

FreeLibrary(hInst); 

}
就能使对话匡透明
那怎么才能使ActiveX控件透明呢