CE下对话框全屏
来源:互联网 发布:黄海 电影 知乎 编辑:程序博客网 时间:2024/04/30 22:39
最近公司有个项目,要求手机实现全屏,捣鼓了半天终于解决了。。
开发环境:Visual Studio 2005
SDK:POCKET PC, CE5.0, CE6.0
void CCEMainDlg::SetScreenMode(BOOL bFullScreen)
{
if (bFullScreen)
{
// 隐藏输入面板
SIPINFO si;
memset(&si, 0, sizeof(SIPINFO));
si.cbSize = sizeof(SIPINFO);
SHSipInfo(SPI_GETSIPINFO, 0, &si, 0);
if (si.fdwFlags & SIPF_ON)
{
si.cbSize = sizeof(SIPINFO);
si.fdwFlags = SIPF_OFF;
SHSipInfo(SPI_SETSIPINFO, 0, &si, 0);
}
// 隐藏命令栏
HWND hWnd = SHFindMenuBar(m_hWnd);
::CommandBar_Show(hWnd, FALSE);
// SHFullScreen fails if dialog box is not foreground.
SetForegroundWindow();
// 隐藏任务栏
SHFullScreen(m_hWnd, SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON|SHFS_HIDESTARTICON);
// Resize the window over the taskbar area.
CRect rcScreen;
rcScreen.SetRect( 0,
0,
GetSystemMetrics( SM_CXSCREEN ),
GetSystemMetrics( SM_CYSCREEN ));
MoveWindow(&rcScreen, TRUE);
}
else
{
// 显示任务栏
SHFullScreen(m_hWnd, SHFS_SHOWTASKBAR | SHFS_SHOWSTARTICON | SHFS_SHOWSIPBUTTON);
// 显示命令栏
HWND hWnd = SHFindMenuBar(m_hWnd);
::CommandBar_Show(hWnd, TRUE);
// 显示任务栏
HWND hWndTaskBar = ::FindWindow(TEXT("HHTaskBar"), NULL);
if (hWndTaskBar != NULL)
{
::ShowWindow(hWndTaskBar, SW_SHOW);
}
}
}
BOOL CCEMainDlg::OnInitDialog()
{
m_bFullScreen = FALSE; // 这是个布尔变量,当它为TRUE时,对话框全屏;
// 为FALSE时,对话框为实际大小
CDialog::OnInitDialog();
SHINITDLGINFO shidi;
shidi.dwMask = SHIDIM_FLAGS;
shidi.dwFlags = SHIDIF_FULLSCREENNOMENUBAR;
shidi.hDlg = m_hWnd;
::SHInitDialog(&shidi); //
SetScreenMode(TRUE); // 设置窗口全屏模式
...
}
BOOL CCEMonitorDlg::DestroyWindow()
{
...
SetScreenMode(FALSE); // 设置退出窗口全屏模式
...
}
提示:
如果主窗口上有其它子窗口的话,采用上面的代码的同时,加上这句话哦:
BOOL CCEChildDlg::OnInitDialog()
{
m_bFullScreen = FALSE; // 测试发下如果没这句话,还会导致整个窗口不能全屏的。。
CDialog::OnInitDialog();
...
}
参考资料:
http://blog.csdn.net/habit2/archive/2004/12/05/205283.aspx
http://support.microsoft.com/kb/266244/
关联问题:
全屏,但有些窗口要客户输入信息,郁闷,输入面板调不出来了。郁闷。。
- CE下对话框全屏
- CE Mobile下对话框程序全屏
- CE下对话框程序全屏与隐藏对话框
- 对话框全屏
- 对话框全屏
- Windows CE下如何调用控制面板中的对话框
- 禁止WinCE3.0操作系统下的对话框全屏显示
- Windows CE中的对话框
- 简单实现全屏对话框
- 实现全屏对话框
- 使对话框全屏显示
- 对话框全屏简单实现
- [Windows Mobile]全屏对话框
- [Windows Mobile]全屏对话框
- 对话框全屏、位置等
- MFC ActiveX 对话框全屏
- [Windows Mobile]全屏对话框
- 对话框全屏显示背景图片
- Asp.net中防止用户多次登录的方法
- ASP.NET中常用的26个优化性能方法
- JPA注解
- HTTP协议header头域
- ubuntu 7z 文件 解压
- CE下对话框全屏
- 文本框点击时文字消失,失去焦点时文字出现!
- DataBase Index
- anthea使用的解决VMware时钟过慢过快问题的方法
- 获取前台HTML控件的值(select)
- Is there such a person in your mind?
- 《天风文章》V1.1.0 设计文档
- 八种常见的防盗链方法总结及分析
- 二分法查找有序数组