picture control 加载了bit地图后 就响应不了WM_LBUTTONDOWN消息了

picture control 加载了bitmap后 就响应不了WM_LBUTTONDOWN消息了
picture control 加载了bitmap后 就响应不了WM_LBUTTONDOWN消息了 我点picture control之外的对话框是可以响应WM_LBUTTONDOWN消息的 但是位图上点就响应不了 有什么方法可以解决得吗 谢过

------解决方案--------------------
我的例程中认啊
//获得鼠标点击处的颜色,然后用这个颜色填充一个矩形
void CPtClrDlg::OnLButtonDown(UINT nFlags, CPoint point) 
{
//获得设备场景
CDC* pDC = GetDC();

//获得指定点的颜色
COLORREF clr = pDC->GetPixel(point);

//创建画刷
CBrush brush;
brush.CreateSolidBrush(clr);

//用刚才获得的颜色填充矩形区域
CRect rc(170,50,270,150);
pDC->FillRect(&rc,&brush);

//释放设备场景
ReleaseDC(pDC);

CDialog::OnLButtonDown(nFlags, point);
}
------解决方案--------------------
恩,不响应了。原因就是你Picture Control挡住了Dialog,消息转发到Picture Control中取,而不是转到你对话框中去了。

用PretranslateMessage捕获消息吧。
C/C++ code

BOOL CXXXX::PreTranslateMessage(MSG* pMsg)
{
    if(pMsg->message == WM_LBUTTONDOWN)
    {
            //捕获到信息了,做你想做的事情
    }

    return CView::PreTranslateMessage(pMsg); //CView::  这个根据你的要求来,对话跨就CDialog::
}

------解决方案--------------------
“picture control 加载了bitmap后”鼠标就不能穿透到对话框了。
------解决方案--------------------
MSG这个结构体本就包含一个POINT的成员。你可以查看百度百科。
探讨
引用:

“picture control 加载了bitmap后”鼠标就不能穿透到对话框了。


好吧 那我只能另辟蹊径了哎