2924|3

55

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

如何在cview或mainframe中隐藏sip Button [复制链接]

如题

最新回复

在WM_ACTIVATE/WA_ACTIVE时隐藏SIP, 在其它WM_ACTIVATE时显示SIP, 你看下WTL里, atlwince.h里CFullScreenFrame::OnActivate就知道了, 该代码如下 /////////////////////////////////////////////////////////////////////////////// // CFullScreenFrame - full screen frame implementation template class CFullScreenFrame { public:         bool m_bFullScreen;         CFullScreenFrame() : m_bFullScreen(false)         { } // Operation                void SetFullScreen(bool bFull)         {                 m_bFullScreen = bFull;                 ShowTaskBar(!bFull, false);                 ShowMenuBar(!bFull);         } // Manage TaskBar for modal dialogs and property sheets         template         int FSDoModal(D& dlg)         {                 T* pT = static_cast(this);                 pT;   // avoid level 4 warning                 ATLASSERT(pT->IsWindow());                 if (m_bFullScreen)   // Show taskbar if hidden                         ShowTaskBar(true, false);                 int iRet = dlg.DoModal();                 if (m_bFullScreen)   // Hide taskbar if restored                         ShowTaskBar(false);                 return iRet;         } // Implementation         void ShowMenuBar(bool bShow)         {                 T* pT = static_cast(this);                 ATLASSERT(pT->IsWindow());                 ATL::CWindow MenuBar = pT->m_hWndCECommandBar;                 ATLASSERT(MenuBar.IsWindow());                 MenuBar.ShowWindow(bShow ? SW_SHOWNORMAL : SW_HIDE);                 pT->SizeToMenuBar();         }                 void ShowTaskBar(bool bShow, bool bRepaint = true)         {                 T* pT = static_cast(this);                 ATLASSERT(pT->IsWindow());                 RECT rect = { 0 };                 SystemParametersInfo(SPI_GETWORKAREA, NULL, &rect, FALSE);                 if (!bShow)                         rect.top = 0; #ifdef WIN32_PLATFORM_PSPC // Pocket PC code                 UINT uShow = t_bHasSip ? SHFS_SHOWTASKBAR | SHFS_SHOWSIPBUTTON : SHFS_SHOWTASKBAR | SHFS_HIDESIPBUTTON;                                SHFullScreen(pT->m_hWnd, bShow ? uShow : SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON); #elif _WIN32_WCE > 0x500 // Smartphone 2005 code                 SHFullScreen(pT->m_hWnd, bShow ? SHFS_SHOWTASKBAR : SHFS_HIDETASKBAR); #else // Smartphone 2003                 HWND hTaskBar = FindWindow(_T("tray"), NULL);                 ATLASSERT(::IsWindow(hTaskBar));                 ::ShowWindow(hTaskBar, bShow ? SW_SHOW : SW_HIDE); #endif // WIN32_PLATFORM_PSPC                 pT->MoveWindow(&rect, bRepaint);         } // Message map and handler         BEGIN_MSG_MAP(CFullScreenFrame)                 MESSAGE_HANDLER(WM_SETTINGCHANGE, OnSettingChange)                 MESSAGE_HANDLER(WM_ACTIVATE, OnActivate)         END_MSG_MAP()         LRESULT OnSettingChange(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled)         { #ifndef SETTINGCHANGE_RESET // not defined for PPC 2002         #define SETTINGCHANGE_RESET SPI_SETWORKAREA #endif                 if (m_bFullScreen && (wParam & SETTINGCHANGE_RESET))                         SetFullScreen(m_bFullScreen);                 return bHandled = FALSE;         }         LRESULT OnActivate(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled)         {                 if (m_bFullScreen)                 {                         ShowTaskBar(!wParam);                         ShowMenuBar(!wParam);                 }                 return bHandled = FALSE;         } }; 复制代码  详情 回复 发表于 2009-7-12 18:05
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
隐藏SIP句柄后,再隐藏任务栏句柄试试
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
如何在view中隐藏SIP,而在其子对话框中又能显示出来
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 
在WM_ACTIVATE/WA_ACTIVE时隐藏SIP, 在其它WM_ACTIVATE时显示SIP,
你看下WTL里, atlwince.h里CFullScreenFrame::OnActivate就知道了, 该代码如下

  1. ///////////////////////////////////////////////////////////////////////////////
  2. // CFullScreenFrame - full screen frame implementation

  3. template
  4. class CFullScreenFrame
  5. {
  6. public:
  7.         bool m_bFullScreen;

  8.         CFullScreenFrame() : m_bFullScreen(false)
  9.         { }

  10. // Operation       
  11.         void SetFullScreen(bool bFull)
  12.         {
  13.                 m_bFullScreen = bFull;
  14.                 ShowTaskBar(!bFull, false);
  15.                 ShowMenuBar(!bFull);
  16.         }

  17. // Manage TaskBar for modal dialogs and property sheets
  18.         template
  19.         int FSDoModal(D& dlg)
  20.         {
  21.                 T* pT = static_cast(this);
  22.                 pT;   // avoid level 4 warning
  23.                 ATLASSERT(pT->IsWindow());
  24.                 if (m_bFullScreen)   // Show taskbar if hidden
  25.                         ShowTaskBar(true, false);
  26.                 int iRet = dlg.DoModal();
  27.                 if (m_bFullScreen)   // Hide taskbar if restored
  28.                         ShowTaskBar(false);
  29.                 return iRet;
  30.         }

  31. // Implementation
  32.         void ShowMenuBar(bool bShow)
  33.         {
  34.                 T* pT = static_cast(this);
  35.                 ATLASSERT(pT->IsWindow());
  36.                 ATL::CWindow MenuBar = pT->m_hWndCECommandBar;
  37.                 ATLASSERT(MenuBar.IsWindow());
  38.                 MenuBar.ShowWindow(bShow ? SW_SHOWNORMAL : SW_HIDE);
  39.                 pT->SizeToMenuBar();
  40.         }
  41.        
  42.         void ShowTaskBar(bool bShow, bool bRepaint = true)
  43.         {
  44.                 T* pT = static_cast(this);
  45.                 ATLASSERT(pT->IsWindow());
  46.                 RECT rect = { 0 };
  47.                 SystemParametersInfo(SPI_GETWORKAREA, NULL, &rect, FALSE);
  48.                 if (!bShow)
  49.                         rect.top = 0;

  50. #ifdef WIN32_PLATFORM_PSPC // Pocket PC code
  51.                 UINT uShow = t_bHasSip ? SHFS_SHOWTASKBAR | SHFS_SHOWSIPBUTTON : SHFS_SHOWTASKBAR | SHFS_HIDESIPBUTTON;               
  52.                 SHFullScreen(pT->m_hWnd, bShow ? uShow : SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON);
  53. #elif _WIN32_WCE > 0x500 // Smartphone 2005 code
  54.                 SHFullScreen(pT->m_hWnd, bShow ? SHFS_SHOWTASKBAR : SHFS_HIDETASKBAR);
  55. #else // Smartphone 2003
  56.                 HWND hTaskBar = FindWindow(_T("tray"), NULL);
  57.                 ATLASSERT(::IsWindow(hTaskBar));
  58.                 ::ShowWindow(hTaskBar, bShow ? SW_SHOW : SW_HIDE);
  59. #endif // WIN32_PLATFORM_PSPC

  60.                 pT->MoveWindow(&rect, bRepaint);
  61.         }

  62. // Message map and handler
  63.         BEGIN_MSG_MAP(CFullScreenFrame)
  64.                 MESSAGE_HANDLER(WM_SETTINGCHANGE, OnSettingChange)
  65.                 MESSAGE_HANDLER(WM_ACTIVATE, OnActivate)
  66.         END_MSG_MAP()

  67.         LRESULT OnSettingChange(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled)
  68.         {
  69. #ifndef SETTINGCHANGE_RESET // not defined for PPC 2002
  70.         #define SETTINGCHANGE_RESET SPI_SETWORKAREA
  71. #endif
  72.                 if (m_bFullScreen && (wParam & SETTINGCHANGE_RESET))
  73.                         SetFullScreen(m_bFullScreen);
  74.                 return bHandled = FALSE;
  75.         }

  76.         LRESULT OnActivate(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled)
  77.         {
  78.                 if (m_bFullScreen)
  79.                 {
  80.                         ShowTaskBar(!wParam);
  81.                         ShowMenuBar(!wParam);
  82.                 }
  83.                 return bHandled = FALSE;
  84.         }
  85. };

复制代码
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表