1、隱藏
// 隱藏命令欄,命令欄是螢幕最下邊的一條
hwnd hwnd = shfindmenubar(m_hwnd);
::commandbar_show(hwnd, false);
如果對話方塊不在最前面,那麼shfullscreen()函式會失敗
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);
隱藏輸入面板
sipinfo si;
memset(&si, 0, sizeof(sipinfo));
si.cbsize = sizeof(sipinfo);
shsipinfo(spi_getsipinfo, 0, &si, 0);
if (si.fdwflags & sipf_on)
2、顯示
在很多時候,我們僅需要隱藏工作列,而對下方的輸入法欄並不需要隱藏,如手機qq的做法.但是在這個時候,彈出輸入法軟鍵盤的時候,螢幕上視窗將會自動向下收縮並露出上方被隱藏工作列的區域.解決方法是在主視窗裡響應 wm_wininichange 訊息即可,不需要在裡面新增自定義**,如下:
// 按動輸入法時不自動彈出工作列
void cmainframe::onwininichange(lpctstr lpszsection)
//顯示輸入法圖示
shfullscreen(m_hwnd, shfs_showsipbutton);
// 顯示輸入法欄
cwnd* pwndsip = findwindow( _t("menu_worker"), null );
if ( pwndsip )
WM隱藏 顯示工作列
如下 using system.runtime.interopservices const uint shfs showtaskbar 0x0001 const uint shfs hidetaskbar 0x0002 const uint shfs showsipbutton 0x0004 con...
wince 隱藏 顯示工作列
有時候需要將工作列隱藏,封裝了乙個類。在視窗load的時候,先呼叫hide 視窗大小設定成螢幕大小就可以了。將windowstate設定成max不起作用,必須將視窗大小設定成螢幕大小 using system using system.runtime.interopservices namespac...
wince 隱藏 顯示工作列
有時候需要將工作列隱藏,封裝了乙個類。在視窗load的時候,先呼叫hide 視窗大小設定成螢幕大小就可以了。將windowstate設定成max不起作用,必須將視窗大小設定成螢幕大小 using system using system.runtime.interopservices namespac...