应用程序有时候需要使框架充满整个屏幕
在编程过程中无非就是把标题栏和菜单去掉
以下代码即实现此功能
全屏显示:
void CMainFrame::FullScreen()
{
ModifyStyle(WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,0,0);
ModifyStyleEx(WS_EX_CLIENTEDGE,0,0);
SetMenu(NULL);
SetWindowPos(&wndTop,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),SWP_SHOWWINDOW);
}
恢复窗口:
void CMainFrame::Reset()
{
ModifyStyle(0,WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,0);
ModifyStyle(0,WS_EX_CLIENTEDGE,0);
CMenu menu;
menu.LoadMenu(IDR_MAINFRAME);
SetMenu(&menu);
//取得视窗样式
DWORD style=::GetWindowLong(m_hWnd,GWL_STYLE);
DWORD exstyle=::GetWindowLong(m_hWnd,GWL_EXSTYLE);
//设定客户区域大小
CRect rect(0,0,640,480);
//获得视窗大小
::AdjustWindowRectEx(rect,style,TRUE,exstyle);
SetWindowPos(&wndTop,0,0,rect.Width(),rect.Height(),SWP_SHOWWINDOW|SWP_NOMOVE);
}
在编程过程中无非就是把标题栏和菜单去掉
以下代码即实现此功能
全屏显示:
void CMainFrame::FullScreen()
{
ModifyStyle(WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,0,0);
ModifyStyleEx(WS_EX_CLIENTEDGE,0,0);
SetMenu(NULL);
SetWindowPos(&wndTop,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),SWP_SHOWWINDOW);
}
恢复窗口:
void CMainFrame::Reset()
{
ModifyStyle(0,WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,0);
ModifyStyle(0,WS_EX_CLIENTEDGE,0);
CMenu menu;
menu.LoadMenu(IDR_MAINFRAME);
SetMenu(&menu);
//取得视窗样式
DWORD style=::GetWindowLong(m_hWnd,GWL_STYLE);
DWORD exstyle=::GetWindowLong(m_hWnd,GWL_EXSTYLE);
//设定客户区域大小
CRect rect(0,0,640,480);
//获得视窗大小
::AdjustWindowRectEx(rect,style,TRUE,exstyle);
SetWindowPos(&wndTop,0,0,rect.Width(),rect.Height(),SWP_SHOWWINDOW|SWP_NOMOVE);
}