对话框设置成全透明了,怎么捕获透明部分的鼠标消息?
部分代码如下:
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);