窗口全屏 隐藏taskbar SIP button及处理x消息

 

设置全屏窗口

重设窗口大小 

RECT rc;

     SetRect(&rc, 

0, 0, 

             GetSystemMetrics(SM_CXSCREEN), 

             GetSystemMetrics(SM_CYSCREEN));

     MoveWindow( hWnd, 

         rc.left, rc.top,

         rc.right, rc.bottom,

         FALSE);

   隐藏任务栏 和 SIP button

   SHFullScreen(hWnd, SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON)

   移动menu bar

   SetWindowPos(SHFindMenuBar(hwndDlg), NULL, -1, -1, 0, 0, SWP_NOZORDER | SWP_NOACTIVATE);

  

合起来可以这样写  

         RECT rc; 

         SecureZeroMemory(&rc, sizeof(RECT));

//隐藏任务栏和SIP button

         if (!SHFullScreen(hwndDlg, SHFS_HIDETASKBAR | SHFS_HIDESTARTICON | SHFS_HIDESIPBUTTON))

         {

             DBG_MSG(MSG_ERR, L"SHFullScreen function fail!");

         }

 

//移动menu bar

         SetWindowPos(SHFindMenuBar(hwndDlg), NULL, -1, -1, 0, 0, SWP_NOZORDER | SWP_NOACTIVATE);

 

         //全屏化窗口

         SetRect(&rc, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN));

         MoveWindow( hwndDlg, rc.left, rc.top,rc.right, rc.bottom, TRUE);

 

隐藏Menu bar

初始化时创建空的menu bar

SHINITDLGINFO sid;

sid.dwFlags = SHIDIF_EMPTYMENU;//这里还可以设置sip的状态

SHInitDialog( &sid )

创建空的menu bar

mbi.cbSize     = sizeof(SHMENUBARINFO);

     mbi.hwndParent = hwndDlg;

     mbi.dwFlags    = SHCMBF_EMPTYBAR;

     !SHCreateMenuBar(&mbi);

 

隐藏SIP button.

创建menu bar时隐藏SIP button

mbi.cbSize     = sizeof(SHMENUBARINFO);

     mbi.hwndParent = hwndDlg;

     mbi.dwFlags    = SHCMBF_HIDESIPBUTTON;

     SHCreateMenuBar(&mbi);

 

处理X按钮消息。

调用SHDoneButton(hWnd, SHDB_SHOWCANCEL); 然后主窗口去截获WM_COMMAND IDCANCEL

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值