首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Windows Mobile >

关于全屏显示的有关问题

2012-02-14 
关于全屏显示的问题。我用的是//FullScreenDWORD dwState ( SHFS_HIDETASKBAR | SHFS_HIDESTARTICON |SHF

关于全屏显示的问题。
我用的是//FullScreen
DWORD dwState = ( SHFS_HIDETASKBAR | SHFS_HIDESTARTICON | SHFS_HIDESIPBUTTON );
SHFullScreen( m_hWnd, dwState );
CRect rc;
SetRect( &rc, 0, 0, GetSystemMetrics( SM_CXSCREEN ),
GetSystemMetrics( SM_CYSCREEN ) );
SetWindowPos( &wndTopMost, 0, 0, rc.Width(), rc.Height(), SWP_SHOWWINDOW );

CWnd* pWndSIP = FindWindow( _T("menu_worker"), 0 );
if ( pWndSIP )
{
pWndSIP->ShowWindow(SW_HIDE);
}
来实现,全屏的,MFC,代码段在MainFrm.cpp OnCreate()里面。同时我还禁止了所有按键
问题是:程序打开全屏后,滑盖,改变了屏幕方向,这时,窗口上方的导航栏出现了,鼠标点击×程序就关闭了,请问如何避免这种现象,在屏幕方向改变的时候,仍然保持全屏

[解决办法]
你用的不是MFC吗?给对话框添加Messages,里面有WM_SIZE消息。添加后会自动生成该消息函数。
[解决办法]
可以把导航栏关闭,你的程序结束再打开。
public static void ShowTaskBar(IntPtr hWnd)
{
EnableWindow(hWnd, true); 
ShowWindow(hWnd, SW_SHOW);
}

public static IntPtr HideTaskbar()
{

IntPtr hWnd = FindWindow("HHTaskBar", "");
ShowWindow(hWnd, SW_HIDE);
EnableWindow(hWnd, false);

return hWnd;
}
我这是c#代码,转为vc对你来说不难.导航栏的title是HHTaskBar,你找到这个窗口,把它隐藏就行
[解决办法]
HWND hWnd = ::FindWindow(L"HHTaskBar", NULL); 
::ShowWindow(hWnd, SW_HIDE); 
::EnableWindow(hWnd, FALSE);

热点排行