设置窗体透明 隐藏任务栏 与全屏显示 .
2011-10-24 14:59
483 查看
因为一种特别的需要 做了一个小程序主要三个功能
设置窗体透明
view plaincopy to clipboardprint?
void CSetDlg::SetTransparent()
{
::SetWindowPos(m_hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);//TopMost
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hModule=LoadLibrary("User32.DLL");
if(hModule==NULL)
{
return;
}
typedef BOOL (WINAPI *FN_SetColor)(HWND,COLORREF,BYTE,DWORD);
FN_SetColor SetColor = NULL;
SetColor=(FN_SetColor)GetProcAddress(hModule,"SetLayeredWindowAttributes");
if (SetColor==NULL)
{
return;
FreeLibrary(hModule);
}
SetColor(this->GetSafeHwnd(),0,50,2);
FreeLibrary(hModule);
}
隐藏任务栏
view plaincopy to clipboardprint?
void CSetDlg::SetTaskBarHide()
{
::SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE, WS_EX_TOOLWINDOW);
}
设置窗体透明
view plaincopy to clipboardprint?
void CSetDlg::SetTransparent()
{
::SetWindowPos(m_hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);//TopMost
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hModule=LoadLibrary("User32.DLL");
if(hModule==NULL)
{
return;
}
typedef BOOL (WINAPI *FN_SetColor)(HWND,COLORREF,BYTE,DWORD);
FN_SetColor SetColor = NULL;
SetColor=(FN_SetColor)GetProcAddress(hModule,"SetLayeredWindowAttributes");
if (SetColor==NULL)
{
return;
FreeLibrary(hModule);
}
SetColor(this->GetSafeHwnd(),0,50,2);
FreeLibrary(hModule);
}
view plaincopy to clipboardprint? void CSetDlg::SetFullScreen() { LONG style = ::GetWindowLong(this->m_hWnd,GWL_STYLE); style &= ~(WS_DLGFRAME | WS_THICKFRAME); SetWindowLong(this->m_hWnd,GWL_STYLE, style); this->ShowWindow(SW_SHOWMAXIMIZED); CRect rect; this->GetWindowRect(&rect); ::SetWindowPos(this->m_hWnd,HWND_NOTOPMOST,rect.left-1, rect.top-1, rect.right-rect.left + 3, rect.bottom-rect.top + 3, SWP_FRAMECHANGED); } void CSetDlg::SetFullScreen(){LONG style = ::GetWindowLong(this->m_hWnd,GWL_STYLE);style &= ~(WS_DLGFRAME | WS_THICKFRAME);SetWindowLong(this->m_hWnd,GWL_STYLE, style);this->ShowWindow(SW_SHOWMAXIMIZED);CRect rect;this->GetWindowRect(&rect);::SetWindowPos(this->m_hWnd,HWND_NOTOPMOST,rect.left-1, rect.top-1, rect.right-rect.left + 3, rect.bottom-rect.top + 3, SWP_FRAMECHANGED);}
隐藏任务栏
view plaincopy to clipboardprint?
void CSetDlg::SetTaskBarHide()
{
::SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE, WS_EX_TOOLWINDOW);
}
相关文章推荐
- 设置窗体透明 隐藏任务栏 与全屏显示
- 点击任务栏图标让窗体可以隐藏或显示(FormBorderStyle设置为None)
- 设置WPF窗体全屏显示:
- .net中使无窗体界面全屏显示时不挡住任务栏,或全屏显示
- 自定义Dialog设置全屏显示和背景透明
- C# WinForm下,隐藏主窗体,只在进程管理器中显示进程,在任务栏,状态栏都不显示窗体的方法
- 【Android】Android 设置Activity窗体 不显示标题和全屏显示
- ANDROID 隐藏 任务栏 systemui systembar 全屏显示
- 去掉button按钮左右两边的留白 设置按钮背景为透明 去掉鼠标点击时出现的虚线边框 层的显示与隐藏
- Android 设置Activity窗体 不显示标题和全屏显示
- ANDROID 隐藏 任务栏 systemui systembar 全屏显示
- Qt圆角窗体+半透明背景+右下角显示(移除窗体标题栏+置顶+不在任务栏显示)
- ANDROID 隐藏 任务栏 systemui systembar 全屏显示
- win7任务栏图标设置(显示或者隐藏)
- ANDROID 隐藏 任务栏 systemui systembar 全屏显示
- 设置WPF窗体全屏显示:
- ANDROID 隐藏 任务栏 systemui systembar 全屏显示
- Delphi窗体任务栏隐藏和透明
- 窗体全屏 隐藏任务栏与菜单栏
- C#Winform无边框窗体如何点击系统任务栏显示和隐藏窗体