限制窗口拉伸范围(二)——OnSizing
之前用的GetMinMaxInfo,在VS2015中会导致:Report模式的CListCtrl随窗口拉伸时,表头无法绘制超过原大小的区域。其他版本和控件未测试,而OnSizing没有这问题。
前一方法没有问题,经过详细测试后已排除了上述原因,已确认是对ClistCtrl的误操作导致。
对于 OnSizing ,一开始在网上找了半天都是残缺的使用方法,那些人都没想想参数 fwSide (Forward Side)有没有用,最后我为了代码可读性找了半天,最终通过VS的自动补完找到了宏定义。
例程只限制了最小范围,但完全可以实现限制最大范围。
其中 MINI_WIDTH 、 MINI_HEIGHT 为自定义的最小范围, WMSZ_XXXXXX 表示你拉伸的起点方向(共八个):
void CMyDlg::OnSizing(UINT fwSide, LPRECT pRect)
{
if (pRect->right - pRect->left < MINI_WIDTH) {
if (fwSide == WMSZ_LEFT
|| fwSide == WMSZ_TOPLEFT
|| fwSide == WMSZ_BOTTOMLEFT) {
pRect->left = pRect->right - MINI_WIDTH;
}
else {
pRect->right = pRect->left + MINI_WIDTH;
}
}
if (pRect->bottom - pRect->top < MINI_HEIGHT) {
if (fwSide == WMSZ_TOP
|| fwSide == WMSZ_TOPLEFT
|| fwSide == WMSZ_TOPRIGHT) {
pRect->top = pRect->bottom - MINI_HEIGHT;
}
else {
pRect->bottom = pRect->top + MINI_HEIGHT;
}
}
CDialogEx::OnSizing(fwSide, pRect);
}
限制窗口拉伸范围(二)——OnSizing的更多相关文章
- Python_selenium之窗口切换(二)
Python_selenium之窗口切换(二)一.思路拆分1. 之前有介绍窗口切换,这里加上断言部分2. 这里还是以百度新闻为例,获取百度新闻网址http://news.baidu.com/3. 同样 ...
- 限制窗口拉伸范围——WM_GETMINMAXINFO
注意:此方法对CListCtrl的Report模式下的表头绘制有影响,用时需注意测试! 使用OnSizing的改进版 该例程用处为将窗口限制了大小,并且只允许上下拉伸.需要注意的是WM_GETMINM ...
- JavaFX 之自定义窗口标题栏(二)
一.问题场景 PC客户端登录界面仿QQ,上边显示图片,下边显示输入框和登录按钮.而JavaFX默认的窗口,不满足需求. 二.解决思路 隐藏窗口默认的标题栏,使用创建label对象,使用css将按钮图片 ...
- 【2016-11-6】【坚持学习】【Day21】【子窗口关闭时,同步关闭它的主窗口(方法二)】
根据上文,在子窗口设置一个委托.然后在子窗口关闭事件,执行委托实例,然后在主窗口增加监听委托的方法.... 想想,本事关闭事件就是一个特殊的委托.那么干嘛还要特意去声明一个新的呢?多此一举. 于是有下 ...
- 【PyQt5 学习记录】008:改变窗口样式之二
super(MainWindow, self).__init__(parent, flags=Qt.Widget) 首先需要关闭窗口的默认样式,以方便定时想要的样式: self.setWindowFl ...
- C#窗口皮肤制作(二):创建窗口库项目以及最小化、最大化、关闭button的实现
非常高兴有朋友关注这篇博客,同一时候也十分抱歉让关注的朋友久等了,隔上一篇博客也有3个月没有更新,主要是因为3月份辞职,4月份初离职到期离开了北京高德,来到了上海张江.眼下新工作也处于熟悉其中,希望大 ...
- QTDesigner的QVBoxLayout自动随窗口拉伸
在MainWindow的构造函数中添加如下代码://设置Uiui.setupUi(this); //使Ui可自适应父窗口大小QVBoxLayout* mainLayout = new QVBoxLay ...
- Windows程序设计笔记(二) 关于编写简单窗口程序中的几点疑惑
在编写窗口程序时主要是5个步骤,创建窗口类.注册窗口类.创建窗口.显示窗口.消息环的编写.对于这5个步骤为何要这样写,当初我不是太理解,学习到现在有些问题我基本上已经找到了答案,同时对于Windows ...
- 如何在pyqt中自定义无边框窗口
前言 之前写过很多关于无边框窗口并给窗口添加特效的博客,按照时间线罗列如下: 如何在pyqt中实现窗口磨砂效果 如何在pyqt中实现win10亚克力效果 如何在pyqt中通过调用SetWindowCo ...
随机推荐
- 个人.net学习规划路线
- poj Organize Your Train part II
http://poj.org/problem?id=3007 #include<cstdio> #include<algorithm> #include<cstring& ...
- API Hook完全手册
文章来源: http://blog.csdn.net/atfield 原文作者: ATField 整理日期: 2008-07-16 发表评论 字体大小: 小 中 大 注:本文是根据我两年前写的一个 ...
- VIJOS P1543极值问题
已知m.n为整数,且满足下列两个条件:① m.n∈1,2,…,K② (n^ 2-mn-m^2)^2=1编一程序,对给定K,求一组满足上述两个条件的m.n,并且使m^2+n^2的值最大.例如,若K=19 ...
- JavaScript权威指南学习笔记6
这两天主要翻看了书中的第18-22章,重点看了第17章:事件化处理,其它几章节主要是翻了下书知道有相关的概念,没有真正理解其中的内容,或者没有考虑究竟如何能把里面的内容应用到实际的项目中.说的讽刺一点 ...
- javascript 判断整数
判断整数的方法有两种:正则判断和逐字判断. 由于逐字判断效率过于低下,这里就不予描述了,有兴趣的看客可以自己谷歌. 1.正则判断 var r = /^\+?[1-9][0-9]*$/; //正整数 c ...
- RMQ——窗口题解
题目:窗口 描述: [问题描述] 给你一个长度为N的数组,一个长为K的滑动的窗体从最左移至最右端,你只能见到窗口的K个数,每次窗体向右移动一位,如下表: Window position Min val ...
- UVa 10025: The ? 1 ? 2 ? ... ? n = k problem
这道题仔细思考后就可以得到比较快捷的解法,只要求出满足n*(n+1)/2 >= |k| ,且n*(n+1)/2-k为偶数的n就可以了.注意n==0时需要特殊判断. 我的解题代码如下: #incl ...
- php显示日期(今天、昨天、本周、上周、本月、上月、)
<?php //今天 $today = date("Y-m-d"); //昨天 $yesterday = date("Y-m-d", strtotime( ...
- 数据库 —— Access 数据库
0.Access 下载 1.Access 语法 链接:http://blog.csdn.net/tercel99/article/details/5725157 2.ADO 相关: 在VC++6.0中 ...