如何防止底层子窗口收到消息(Windows API)

时间:2015-10-06 20:02:55

标签: windows winapi message-queue

enter image description here

现在我有2个子窗口彼此重叠。

  • 第一个是按钮。 (先创造)

  • 第二个只是在按钮及其下方的列表框(在链接图像中)后创建的黑色矩形

当黑人孩子创建它时,它已被涂上并正确覆盖按钮。当我将鼠标悬停在黑色子窗口的区域上时,它会收到消息,但是当鼠标进入-hidden- underlay按钮区域时,按钮正在重新绘制并从重叠的黑色矩形子窗口剪切它的区域,这意味着它收到消息。

当兄弟姐妹 - 黑孩子结束时,如何阻止此按钮接收任何讯息?

提前致谢

黑人孩子的创建代码

CreateWindowEx(0,controlerclassname,"",WS_CHILD|WS_VISIBLE,5,5,300,300,Hmainwin,0,Hinstance,0);

WM_PAINT处理

            HDC hdc;
            PAINTSTRUCT ps;
            RECT rc;
            HBRUSH Hbrush;
            GetClientRect(hwnd,&rc);
            hdc = BeginPaint(hwnd,&ps);
            Hbrush =CreateSolidBrush(RGB(10,10,10)); //(HBRUSH)GetStockObject(NULL_BRUSH); // 
            SelectObject(hdc,Hbrush);
            Rectangle(hdc,rc.left,rc.top,rc.right,rc.bottom);
            EndPaint(hwnd,&ps);

按钮创建行

CreateWindowExA(0,"BUTTON" ,"Creat New Top Level Window", WS_CHILD | WS_VISIBLE | BS_FLAT, // Button Create
        mainwndrc.left+10, mainwndrc.top+10 ,200,30,hwnd,(HMENU)ID_BTN_NEW,Hinstance,0);

0 个答案:

没有答案