實現隱藏窗口 的顯示
我要實現的功能是 程序一直將窗口隱藏起來,當接收到其他程序發送過來的消息之後 就顯示,執行任務,完成之後繼續隱藏起來。
所以 設置顯示標記s_bShow
OnPaint 函數//實現 根據s_bShow來顯示和隱藏界面
if(g_snShow == 0)
{
ShowWindow(SW_HIDE);
return;
}
//do work
s_bShow =false;
ShowWindow(SW_HIDE);
OnSize
實現接受其他程序發送過來的任務消息,然後顯示窗口,置位s_bShow 同時通知WM_PAINT消息
ShowWindow(SW_SHOW);
s_bShow = true;
::SetWindowPos(this->m_hWnd,
HWND_TOPMOST,g_rect.left,g_rect.top,nWidth,nHeight,SWP_NOACTIVATE);
ShowInTaskbar(this->m_hWnd,FALSE);
Invalidate(TRUE);
隱藏窗口 的坑
1、隱藏窗口 能接受WM_SIZE消息,但是不能接收WM_PAINT消息
所以在OnSize 裏面就必須 調用 ShowWindow(SW_SHOW); 才能使窗口收到_WM_PAINT消息