窗体样式及透明设置!

NewUser2008 2012-08-24 03:05:30
由于某些原因,临时要将窗体设置为透明. 处理一些数据后.又要将窗体还原到以前的样子.怎么实现呀!



...全文
139 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sumos 2012-08-24
  • 打赏
  • 举报
回复
参数中的200指定透明度0=完全透明,255=不透明。
这里的透明是所有控件和窗口一起透明。
如果想要窗口透明,控件不透明,考虑Aero。

//设置窗口透明度
typedef BOOL (FAR PASCAL *TransWnd)(HWND,COLORREF,BYTE,WORD);
TransWnd trans_;
HMODULE hModule = ::LoadLibrary(L"User32.dll");
if(hModule)
{
trans_ = (TransWnd) ::GetProcAddress(hModule,"SetLayeredWindowAttributes");
if(trans_)
{
SetWindowLong(GWL_EXSTYLE,GetWindowLong(GWL_EXSTYLE)|0x80000L);
trans_(m_hWnd,RGB(0,255,0),200,LWA_ALPHA);
}
FreeLibrary(hModule);
}

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧