控件给主窗口发送消息-直接调用onmousemove

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class CTitleButton : public CBCGPButton
{
    DECLARE_DYNAMIC(CTitleButton)
 
public:
    CTitleButton();
    virtual ~CTitleButton();
 
protected:
    DECLARE_MESSAGE_MAP()
 
public:
    afx_msg void OnMouseMove(UINT nFlags, CPoint point);
};

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
IMPLEMENT_DYNAMIC(CTitleButton, CBCGPButton)
 
CTitleButton::CTitleButton()
    : CBCGPButton()
{
}
 
CTitleButton::~CTitleButton()
{
}
 
BEGIN_MESSAGE_MAP(CTitleButton, CBCGPButton)
    ON_WM_MOUSEMOVE()
END_MESSAGE_MAP()
 
void CTitleButton::OnMouseMove(UINT nFlags, CPoint point)
{
    CWnd* pParent = GetParent();
    if (pParent)
    {
        pParent->SendMessage(WM_MOUSEMOVE, nFlags, MAKELPARAM(point.x, point.y));
    }
    CBCGPButton::OnMouseMove(nFlags, point);
}

  

 

主窗口中的OnMouseMove如下调用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void CDlgMain::OnMouseMove(UINT nFlags, CPoint point)
{
    static CPoint PrePoint = CPoint(0, 0);
    if(MK_LBUTTON == nFlags)
    {
        if(point != PrePoint)
                {
*****
                CPoint ptTemp = point - PrePoint;
            GetMainWnd()->GetWindowRect(&rcWindow);
******
                rcWindow.OffsetRect(ptTemp.x + ioff, ptTemp.y);
            GetMainWnd()->MoveWindow(&rcWindow);
     
                
        }
}                                        

  

posted @   曦花  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示