惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
腾讯CDC
M
MIT News - Artificial intelligence
Y
Y Combinator Blog
L
LangChain Blog
Vercel News
Vercel News
云风的 BLOG
云风的 BLOG
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
The GitHub Blog
The GitHub Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog
P
Proofpoint News Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
IT之家
IT之家
A
About on SuperTechFans
H
Help Net Security

博客园 - 毛尹航

GAMES202课程资源 游戏设计制作配置表原则 Unity中文字和图片混合 UI仔需要了解的坑 遇到大段ifelse不要慌,先分层让条件正交 NGUI文字破碎 一个可以用的Lua的Class函数 写一个可以用的Lua打印Table的函数 关于C#的接口的碎碎念 C#中接口是值类型还是引用类型? Unity3d笔试题大全 FPSCalc——简单FPS观测类 GameObjectPool——Unity中的对象池 MonoSingleton——Unity中的单例模式 用非递归、不用栈的方法,实现原位(in-place)的快速排序 一道有序洗牌的笔试题,阿里\UC等都用过 - 毛尹航 - 博客园 MFC中显示图像的放大、缩小、移动功能 MFC【5】MFC集合类 MFC【6】文件I/O和串行化
MFC中设置对话框/窗体大小固定
毛尹航 · 2015-11-08 · via 博客园 - 毛尹航

对话框:
1、响应WM_GETMINMAXINFO消息(设置lpMMI->ptMinTrackSize和lpMMI->ptMaxTrackSize)
2、响应消息WM_SYSCOMMAND,屏蔽SC_SIZE(if((nID & 0xFFF0) == SC_SIZE) return;)
3、响应WM_NCHITTEST消息,如下:
UINT CXxDlg::OnNcHitTest(CPoint point) 

{
UINT ht = CDialog::OnNcHitTest(point);
if(ht >= HTLEFT && ht <= HTBOTTOMRIGHT)
ht = HTBORDER;
return ht;
}
4、直接拿掉窗口的THICKFRAME风格即可:
ModifyStyle(m_hWnd,WS_THICKFRAME,0,0);

 MINMAXINFO结构如下:
typedef struct tagMINMAXINFO {
POINT ptReserved;
POINT ptMaxSize;  //控制窗口最大化时的宽度(point.x)和高度(point.y)
POINT ptMaxPosition;
//控制窗口最大化时左边(point.x)和上边距离屏幕左上角的位置(point.y)
  POINT ptMinTrackSize;
//控制窗口拖拉后的最小尺寸的宽度(point.x)和高度(point.y)
  POINT ptMaxTrackSize;
//控制窗口拖拉后的最大尺寸的宽度(point.x)和高度(point.y)
} MINMAXINFO;

窗体:

在MainFrm.cpp的PreCreateWindow中的//TODO注释部分后面增加:

cs.style &= ~WS_THICKFRAME; 

cs.style |= WS_DLGFRAME;