当前位置: 首页 > news >正文

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。

参考帖子:http://topic.csdn.net/t/20020821/12/957952.html

(2)、第二种方法 .h中: ...

afx_msg UINT OnNcHitTest(CPoint point);

... .cpp中

BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)

... ON_WM_NCHITTEST()

... END_MESSAGE_MAP()

UINT CXXXDlg::OnNcHitTest(CPoint point)

{

   int ret = CDialog::OnNcHitTest(point);

   if( HTCAPTION == ret)

     return HTCLIENT;

  return ret;

}

二、禁止对话框改变大小 .h中:

... afx_msg UINT OnNcHitTest(CPoint point);

... .cpp中 BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)

... ON_WM_NCHITTEST()

... END_MESSAGE_MAP()

UINT CXXXDlg::OnNcHitTest(CPoint point)

{

  int ret = CDialog::OnNcHitTest(point);

   //if语句的前两行是用来禁止改变大小的,最后一行是用来禁止移动的

   if(HTTOP == ret || HTBOTTOM == ret || HTLEFT == ret || HTRIGHT == ret || HTBOTTOMLEFT == ret || HTBOTTOMRIGHT == ret || HTTOPLEFT == ret || HTTOPRIGHT == ret || HTCAPTION == ret)

   return HTCLIENT;

return ret;

}

转载于:https://www.cnblogs.com/fei12/archive/2012/09/18/456s.html

相关文章:

  • 人月神话6
  • Windows下编译项目 ckcore ckfilesystem
  • HTML5、canvas、SVG
  • Thirft框架介绍
  • Android鬼点子-通过Google官方示例学NDK(2)
  • Java泛型-类型擦除
  • 【Dalston】【第五章】API服务网关(Zuul) 上
  • Cocos2d中从场景切换到UIViewController视图方法总结
  • OpenStack架构详解
  • mysql安装出现error Nr.1045
  • 第 2 章 Document Tools
  • JSTL 核心标签库 使用【转载】
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • java中的IO整理(转)
  • collections工具类 排序
  • [笔记] php常见简单功能及函数
  • “大数据应用场景”之隔壁老王(连载四)
  • 【刷算法】从上往下打印二叉树
  • Android开源项目规范总结
  • dva中组件的懒加载
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • java多线程
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Next.js之基础概念(二)
  • redis学习笔记(三):列表、集合、有序集合
  • Redux系列x:源码分析
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 从setTimeout-setInterval看JS线程
  • 关于使用markdown的方法(引自CSDN教程)
  • 容器服务kubernetes弹性伸缩高级用法
  • 山寨一个 Promise
  • 手机端车牌号码键盘的vue组件
  • 我是如何设计 Upload 上传组件的
  • 你对linux中grep命令知道多少?
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • # Panda3d 碰撞检测系统介绍
  • #14vue3生成表单并跳转到外部地址的方式
  • #pragma pack(1)
  • #前后端分离# 头条发布系统
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (九十四)函数和二维数组
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (四)linux文件内容查看
  • (算法)求1到1亿间的质数或素数
  • (小白学Java)Java简介和基本配置
  • (一)UDP基本编程步骤
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)Linux下编译安装log4cxx
  • (转)视频码率,帧率和分辨率的联系与区别
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET Framework与.NET Framework SDK有什么不同?
  • .Net Winform开发笔记(一)