MFC隱藏顯示工作列,選單欄及輸入法面板

2021-04-29 06:54:03 字數 1507 閱讀 7538

1、隱藏

// 隱藏命令欄

hwnd hwnd = shfindmenubar(m_hwnd);

::commandbar_show(hwnd, false);  

// 隱藏工作列

shfullscreen(m_hwnd, shfs_hidetaskbar | shfs_hidesipbutton|shfs_hidestarticon);  

//把窗體設為前台

setforegroundwindow();

//隱藏後把窗體設定為全屏

crect rcscreen;

rcscreen.setrect( 0, 0, getsystemmetrics( sm_cxscreen ), 

getsystemmetrics( sm_cyscreen ));

movewindow(&rcscreen, true);

//隱藏輸入法面板

bool   fres   =   false;  

sipinfo   si;  

memset(   &si,   0,   sizeof(   si   )   );  

si.cbsize   =   sizeof(   si   );  

if(   shsipinfo(   spi_getsipinfo,   0,   &si,   0   )   )  

或者sipinfo si;

memset(&si, 0, sizeof(sipinfo));

si.cbsize = sizeof(sipinfo);

shsipinfo(spi_getsipinfo, 0, &si, 0);

if (si.fdwflags & sipf_on)

2、顯示

// 顯示工作列和輸入法圖示和start圖示

shfullscreen(m_hwnd, shfs_showtaskbar | shfs_showstarticon | shfs_showsipbutton);

//只顯示工作列

hwnd hwndtaskbar = ::findwindow(text("hhtaskbar"), null);

if (hwndtaskbar != null)

//顯示命令欄(此時只顯示了輸入法圖示,因為窗體的高度已經變化,可以通過重新設定窗體大小把該命令欄顯示在視窗中)

hwnd hwnd = shfindmenubar(m_hwnd);

::commandbar_show(hwnd, true); 

//開啟輸入法面板

bool   fres   =   false;  

sipinfo   si;  

memset(   &si,   0,   sizeof(   si   )   );  

si.cbsize   =   sizeof(   si   );  

if(   shsipinfo(   spi_getsipinfo,   0,   &si,   0   )   )  

MFC 選單欄顯示隱藏

首先獲取程式視窗大小 在cmainframe 定義變數crect clientrect 在oncreate裡獲取客戶區大小,並隱藏選單欄 m wndcommandbar.showwindow sw hide getclientrect clientrect bool cmainframe pretr...

C 隱藏與顯示系統工作列和開始選單欄按鈕

隱藏與顯示系統工作列和開始選單欄按鈕 直接上 private const int sw hide 0 隱藏 private const int sw restore 5 顯示 dllimportattribute user32.dll private static extern int findwi...

WM隱藏 顯示工作列

如下 using system.runtime.interopservices const uint shfs showtaskbar 0x0001 const uint shfs hidetaskbar 0x0002 const uint shfs showsipbutton 0x0004 con...