WINCE5.0及Mobile5.0在EVC4.0及VS2005 C++开发上,全屏的处理有所不同。
EVC4.0中的处理:(WINCE5.0及Mobile5.0处理方式一样)
在程序启动后,调用:
当然,在程序退出前要找回任务栏:
vs2005上的处理:(WINCE5.0及Mobile5.0处理方式不同)
在WINCE5.0上,处理方式可类似于 上面 EVC4.0 的方式;
在Mobile5.0上,上面的方式是无效的,需调用如下:
如果不执行代码中的第8行,则有如下效果:
EVC4.0中的处理:(WINCE5.0及Mobile5.0处理方式一样)
在程序启动后,调用:
1HWND hTB = ::FindWindow(L"HHTaskBar", NULL);
2::ShowWindow(hTB, SW_HIDE);
可实现全屏。如图:2::ShowWindow(hTB, SW_HIDE);
当然,在程序退出前要找回任务栏:
1HWND hTB = ::FindWindow(L"HHTaskBar", NULL);
2::ShowWindow(hTB, SW_SHOW);
2::ShowWindow(hTB, SW_SHOW);
vs2005上的处理:(WINCE5.0及Mobile5.0处理方式不同)
在WINCE5.0上,处理方式可类似于 上面 EVC4.0 的方式;
在Mobile5.0上,上面的方式是无效的,需调用如下:
1 SetForegroundWindow(); //此函数不调用,则SHFullScreen将无效
2
SHFullScreen(m_hWnd, SHFS_HIDESTARTICON /**//**//**//*SHFS_HIDETASKBAR | SHFS_HIDESTARTICON | SHFS_HIDESIPBUTTON*/);
3
4 RECT rc;
5 SetRect(&rc, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN));
6 ::MoveWindow(m_hWnd, rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top, TRUE);
7
8 this->m_bFullScreen = false; //不执行此句将有不同的效果
2
SHFullScreen(m_hWnd, SHFS_HIDESTARTICON /**//**//**//*SHFS_HIDETASKBAR | SHFS_HIDESTARTICON | SHFS_HIDESIPBUTTON*/);
3
4 RECT rc;
5 SetRect(&rc, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN));
6 ::MoveWindow(m_hWnd, rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top, TRUE);
7
8 this->m_bFullScreen = false; //不执行此句将有不同的效果
如果不执行代码中的第8行,则有如下效果: