首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

对话框设置成全透明了,如何捕获透明部分的鼠标消息

2012-12-21 
对话框设置成全透明了,怎么捕获透明部分的鼠标消息?部分代码如下:C/C++ codeCPaintDC dc(this) // device

对话框设置成全透明了,怎么捕获透明部分的鼠标消息?
部分代码如下:

C/C++ code
    CPaintDC dc(this); // device context for painting    BLENDFUNCTION blend;    blend.BlendOp = 0;    blend.BlendFlags = 0;    blend.AlphaFormat = 1;    blend.SourceConstantAlpha = 255;//原对话框设置为全透明    CRect rc;     GetClientRect(&rc);     ClientToScreen(&rc);    //窗体样式设为层级窗体    DWORD dwExStyle = GetWindowLong(m_hWnd,GWL_EXSTYLE);    SetWindowLong(m_hWnd,GWL_EXSTYLE,dwExStyle^WS_EX_LAYERED);    HDC m_hdcMemory;    //绘制内存位图    ……    CImage ImgSrc;    ImgSrc.Load(m_strImage);    ImgSrc.Draw(m_hdcMemory,0,30);//将图片画到内存DC上    //使用UpdateLayerWindow进行窗口透明处理    SIZE sizeWindow = {rc.Width(),rc.Height()};    POINT ptWinPos = {rc.left, rc.top};    POINT ptSrc = {0, 0};    UpdateLayeredWindow(CDC::FromHandle(hdcTemp),&ptWinPos,&sizeWindow,        CDC::FromHandle(m_hdcMemory), &ptSrc, RGB(255,0,255), &blend, ULW_COLORKEY);


在透明区域点击鼠标左键,鼠标穿透到下层界面,无法响应本界面的鼠标点击事件。可是我想响应本界面的鼠标点击消息,我该怎么做?

热点排行