程序启动就是全屏状态?
如何实现程序启动就是全屏状态?不显示状态栏,菜单栏,标题栏等等的东西。 问题点数:20、回复次数:10Top
1 楼xx_jj()回复于 2006-03-06 09:20:17 得分 0
运行 gpedit.msc 修改Top
2 楼bohlee(我心澎湃)回复于 2006-03-06 09:46:53 得分 0
SetWindowPosTop
3 楼xwjbs(xwjbs)回复于 2006-03-06 09:53:23 得分 0
弟兄们,说得详细点。如果有可以参考的代码更好!Top
4 楼aat_ydt()回复于 2006-03-06 09:58:06 得分 10
if ( enable==TRUE && !m_bFullScreen )
{
CMDIChildWnd* pChild=MDIGetActive(); if(!pChild) return;
GetWindowRect(&m_mainRect);
m_bToolBarVisible=(m_wndToolBar.IsWindowVisible()!=0);
m_wndToolBar.ShowWindow(SW_HIDE);
m_bStatusBarVisible=(m_wndStatusBar.IsWindowVisible()!=0);
m_wndStatusBar.ShowWindow(SW_HIDE);
LONG style=::GetWindowLong(m_hWnd,GWL_STYLE); style &= ~WS_CAPTION;
::SetWindowLong(m_hWnd,GWL_STYLE,style);
style=::GetWindowLong(pChild->m_hWnd,GWL_STYLE);
m_bChildMax=(style & WS_MAXIMIZE)?true:false;
pChild->ShowWindow(SW_SHOWMAXIMIZED);
CRect ClientRect; pChild->GetClientRect(&ClientRect); ClientToScreen(&ClientRect);
int screenx=GetSystemMetrics(SM_CXSCREEN);
int screeny=GetSystemMetrics(SM_CYSCREEN);
SetWindowPos(NULL,-4,-4,screenx+8,screeny+8,SWP_NOZORDER);
RecalcLayout();
m_bFullScreen=true;
}else
{
if ( m_bFullScreen )
{
LONG style=::GetWindowLong(m_hWnd,GWL_STYLE); style|=WS_CAPTION;
::SetWindowLong(m_hWnd,GWL_STYLE,style);
if(m_bToolBarVisible) m_wndToolBar.ShowWindow(SW_SHOW);
if(m_bStatusBarVisible) m_wndStatusBar.ShowWindow(SW_SHOW);
MoveWindow(&m_mainRect);
RecalcLayout();
CMDIChildWnd* pChild=MDIGetActive();
if(pChild){ if(m_bChildMax) MDIMaximize(pChild); else MDIRestore(pChild); }
m_bFullScreen=false;
}
}Top
5 楼chijingde(AD)回复于 2006-03-06 10:08:14 得分 0
你的窗体是对话框还是文档还是命令行....Top
6 楼lzzqqq(Jonersen)回复于 2006-03-06 10:10:57 得分 0
映射wm_create,把里面乱七八糟去掉,写上
PostMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0);Top
7 楼xwjbs(xwjbs)回复于 2006-03-06 10:22:23 得分 0
窗体是MFC的单文档!SDK写的也成。 我想用这个全屏的界面显示BMP图像。Top
8 楼xwjbs(xwjbs)回复于 2006-03-06 10:28:18 得分 0
to:
aat_ydt()
什么时候调用你给我这些代码?其实,用菜单命令 实现全屏我已经找到相应的程序了。只是不知道如何一起动就实现全屏状态。那些菜单栏,标题栏都不显示。MFC向导生成的程序都是先显示一个窗口! 我不知道什么时候调用这个全屏的代码。而且,我根据那个程序更改的程序实现的全屏是不稳定的。Top
9 楼aat_ydt()回复于 2006-03-06 17:22:07 得分 0
我的这个只显示客户区。
这些代码还需要改进。
这是一个菜单ID的响应代码。
这是从一个多文档程序中截下来的一段代码。Top
10 楼tufaqing()回复于 2006-03-06 17:32:36 得分 10
HDC hdcScreen = GetDC( NULL );
int cx = GetDeviceCaps( hdcScreen, HORZRES );
int cy = GetDeviceCaps( hdcScreen, VERTRES );
DeleteObject( hdcScreen );
SetMenu( ghWnd, NULL );
SetWindowLong( ghWnd, GWL_STYLE, WS_POPUP | WS_VISIBLE );
SetWindowPos( ghWnd, HWND_TOP, 0, 0, cx, cy, SWP_NOACTIVATE );
if( ghwndToolbar )
ShowWindow( ghwndToolbar, SW_HIDE );
if( ghwndTrackbar )
ShowWindow( ghwndTrackbar, SW_HIDE );
if( ghwndStatusbar )
ShowWindow( ghwndStatusbar, SW_HIDE );
ShowCursor( FALSE );Top




