MFC 禁止主窗口的移动

本文介绍了在MFC中如何禁止主窗口的移动和改变大小。通过重载OnSysCommand()函数和OnNcHitTest()函数,可以实现对窗口移动和边框拖动的限制。同时提供了C API的实现方法,处理WM_NCLBUTTONDOWN消息来阻止窗口移动。
摘要由CSDN通过智能技术生成

需要拦截系统消息是ON_WM_SYSCOMMAND()

重新进行重载函数:

void CMainWindow::OnSysCommand(UINT nID, LPARAM lParam)

{
 if (nID == SC_MOVE || nID==0xF012)
 return;
 else
 CFrameWnd::OnSysCommand(nID, lParam);
}
必须注意的是在进行递归调用的使用看清是递归的父类的函数

MFC禁止改变窗口大小和移动窗口

一、禁止对话框的移动

(1)、第一种方法 为这个对话框添加系统消息过虑处理: .h中:

afx_msg void OnSysCommand(UINT nID, LPARAM lParam);

... .cpp中

BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)

... ON_WM_SYSCOMMAND()

... END_MESSAGE_MAP()

void CXXXDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

   if (nID == SC_MOVE || nID==0xF012)

     return;

  else

   CDialog::OnSysCommand(nID, lParam);

}

SC_MOVE就是0xF010。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值