MFC拖动无标题窗体

7 篇文章 0 订阅
第一种方法:
1.在.h文件添加
    afx_msg LRESULT OnNcHitTest(CPoint point); 
2.在.cpp文件添加
    BEGIN_MESSAGE_MAP(CDlgPresetCruise, CDialog)
     ON_WM_NCHITTEST() 
    END_MESSAGE_MAP()

    LRESULT CDlgPresetCruise::OnNcHitTest(CPoint pt)  
    {  
     CRect rc;  
     GetClientRect(&rc);  
     ClientToScreen(&rc);  
     return rc.PtInRect(pt) ? HTCAPTION : CDialog::OnNcHitTest(pt);  
    }
第二种方法:
首先添加鼠标左键单击 消息 ,用自动添加便可。

void CDlgPresetCruise::OnLButtonDown(UINT nFlags, CPoint point)
{
 // TODO: Add your message handler code here and/or call default
 //使窗口可以拖动
 PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM (point.x, point.y));
 CDialog::OnLButtonDown(nFlags, point);
}

在OnLButtonDown的鼠标响应消息添加红色部分代码!


函数功能

  该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回,是异步消息模式。消息队列里的消息通过调用GetMessage和PeekMessage取得。

原型与参数

  函数原型:B00L PostMessage(UINT Msg,WPARAM wParam,LPARAM lParam);

  参数说明:

  Msg:指定被寄送的消息。

  wParam:指定附加的消息特定的信息。

  IParam:指定附加的消息特定的信息。

  返回值:如果函数调用成功,返回非零值:如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值