VC 实现 窗体 透明度

VC 实现 窗体 透明度

 在对话框的OnInitDialog()函数中添加下面代码:

int n_color=200;//n_color为透明度(0-255)
 SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,
  GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
 HINSTANCE hInst = LoadLibrary(L"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,n_color,2);//n_color为透明度(0-255)
  FreeLibrary(hInst);
 }

你可能感兴趣的:(VC 实现 窗体 透明度)