两个窗口怎么重叠
_declspec(dllexport) HWND g_BkWnd=NULL; ///-///背景窗口
_declspec(dllexport) HWND g_MainWnd=NULL;///-///主窗口
LRESULT CALLBACK CBTProc(int nCode,WPARAM wParam,LPARAM lParam)
case HCBT_MOVESIZE: ///-///一个窗口将被移动或改变尺寸:
{
HWND hWnd=(HWND)wParam;
if (g_MainWnd==hWnd)
{
CRect m_CRect_Main;
if(GetWindowRect(g_MainWnd,m_CRect_Main))
{
///-///
MoveWindow(g_BkWnd,m_CRect_Main.left,m_CRect_Main.top,(m_CRect_Main.right-m_CRect_Main.left),(m_CRect_Main.bottom-m_CRect_Main.top),true);
///-///MoveWindow(g_MainWnd,m_CRect_Main.left,m_CRect_Main.top,(m_CRect_Main.right-m_CRect_Main.left),(m_CRect_Main.bottom-m_CRect_Main.top),true);
///-///::SetWindowPos(g_BkWnd,HWND_BOTTOM,m_CRect_Main.left,m_CRect_Main.top,(m_CRect_Main.right-m_CRect_Main.left),(m_CRect_Main.bottom-m_CRect_Main.top),NULL);
::SetWindowPos(g_MainWnd,HWND_NOTOPMOST,m_CRect_Main.left,m_CRect_Main.top,(m_CRect_Main.right-m_CRect_Main.left),(m_CRect_Main.bottom-m_CRect_Main.top),SWP_NOMOVE|SWP_NOSIZE);
///-///::SetWindowPos(g_MainWnd,HWND_TOPMOST,m_CRect_Main.left,m_CRect_Main.top,(m_CRect_Main.right-m_CRect_Main.left),(m_CRect_Main.bottom-m_CRect_Main.top),NULL);
}
}
break;
}
我想把主窗口和背景窗口叠在一起,大小一致,主窗口在前,背景窗口在稍后。
所以,我给主窗口设了个CBTHOOK,代码如上:
可是怎么改,只要一移动主窗口,背景窗口就跑到主窗口前面。
哪里错误了?
这里的SetWindowPos好像效果不明显