基于对话框的MFC PocketPC应用程序全屏方法
2009-06-10 14:10
357 查看
1、在OnInitDialog()中加入如下语句:
RECT rc;
GetWindowRect(&rc);
rc.top -= 26;
MoveWindow(rc.left,rc.top,rc.right,rc.bottom,FALSE); //上移26像素
SHFullScreen(this->m_hWnd,SHFS_HIDETASKBAR); //隐藏任务栏
该段代码为:将整个窗口向上平移26个像素以到达屏幕顶部,同时使用SHFullScreen()隐藏任务栏。
或者:先把该Dialog的TitleBar属性置为false,然后在OnInitDialog()函数中加入如下语句:
int iFullWidth = GetSystemMetrics(SM_CXSCREEN);
int iFullHeight = GetSystemMetrics(SM_CYSCREEN);
::SetWindowPos(this->m_hWnd, HWND_TOPMOST, 0, 0, iFullWidth, iFullHeight, SWP_NOOWNERZORDER|SWP_SHOWWINDOW);
2、由于调用输入法面板(Input Panel)时,任务栏会再次出现(依据MSDN,在Input Panel活动时会发送WM_SETTING_CHANGE和WM_ACTIVATE两个消息。因此需要手工来处理这两个消息来保持全屏),需要添加以下2个消息:
(1)选择改dlg类,在属性中添加WM_SETTINGCHANGE和WM_ACTIVATE消息。即
public:
afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection);
public:
afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);
void CtestDlg::OnSettingChange(UINT uFlags, LPCTSTR lpszSection)
{
//CDialog::OnSettingChange(uFlags, lpszSection); //注释该行
// TODO: 在此处添加消息处理程序代码
}
void CtestDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
CWnd::OnActivate(nState, pWndOther, bMinimized);//CDialog改为CWnd
// TODO: 在此处添加消息处理程序代码
SHFullScreen( this->m_hWnd, SHFS_HIDETASKBAR);
}
RECT rc;
GetWindowRect(&rc);
rc.top -= 26;
MoveWindow(rc.left,rc.top,rc.right,rc.bottom,FALSE); //上移26像素
SHFullScreen(this->m_hWnd,SHFS_HIDETASKBAR); //隐藏任务栏
该段代码为:将整个窗口向上平移26个像素以到达屏幕顶部,同时使用SHFullScreen()隐藏任务栏。
或者:先把该Dialog的TitleBar属性置为false,然后在OnInitDialog()函数中加入如下语句:
int iFullWidth = GetSystemMetrics(SM_CXSCREEN);
int iFullHeight = GetSystemMetrics(SM_CYSCREEN);
::SetWindowPos(this->m_hWnd, HWND_TOPMOST, 0, 0, iFullWidth, iFullHeight, SWP_NOOWNERZORDER|SWP_SHOWWINDOW);
2、由于调用输入法面板(Input Panel)时,任务栏会再次出现(依据MSDN,在Input Panel活动时会发送WM_SETTING_CHANGE和WM_ACTIVATE两个消息。因此需要手工来处理这两个消息来保持全屏),需要添加以下2个消息:
(1)选择改dlg类,在属性中添加WM_SETTINGCHANGE和WM_ACTIVATE消息。即
public:
afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection);
public:
afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);
void CtestDlg::OnSettingChange(UINT uFlags, LPCTSTR lpszSection)
{
//CDialog::OnSettingChange(uFlags, lpszSection); //注释该行
// TODO: 在此处添加消息处理程序代码
}
void CtestDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
CWnd::OnActivate(nState, pWndOther, bMinimized);//CDialog改为CWnd
// TODO: 在此处添加消息处理程序代码
SHFullScreen( this->m_hWnd, SHFS_HIDETASKBAR);
}
相关文章推荐
- 基于对话框的MFC PocketPC应用程序全屏方法
- 隐藏基于对话框的MFC应用程序窗口的方法 (推荐这个方法,非常好用)
- 隐藏基于对话框的MFC应用程序窗口的方法
- .隐藏基于对话框的MFC应用程序窗口的方法
- 猎豹MFC--书籍推荐:基于对话框的MFC应用程序《VisualC++实例精通》单文档多文档多顶级文档《MFCWindows程序设计》
- 将基于MFC的对话框应用程序修改为服务程序
- 关于在MFC中实用在基于对话框窗口上面绘制折线的实现方法
- MFC基于对话框加载菜单栏的方法
- 基于MFC的单文档,多文档,对话框应用程序
- MFC中 给基于对话框的应用程序添加登陆界面
- MFC中对话框全屏(非最大化)实现方法
- MFC-在基于对话框的应用程序中嵌入CSplitterWnd
- 基于对话框的MFC程序启动时完全隐藏的简单方法
- 1.3 基于对话框的MFC应用程序实例
- 为基于MFC的对话框添加ToolTip的简单方法
- 为基于MFC的对话框添加ToolTip的简单方法
- 基于对话框的MFC应用程序实现菜单的勾选功能
- 基于对话框的MFC应用程序加入Accelerator
- 基于MFC对话框隐藏的方法
- 将基于MFC的对话框应用程序修改为服务程序