限制窗口拉伸范围改进——OnSizing

之前用的GetMinMaxInfo,在VS2015中会导致:Report模式的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);
}
时间: 2024-10-18 20:19:32

限制窗口拉伸范围改进——OnSizing的相关文章

hello-win程序入门win32基本窗口框架全解析

在VC++6.0环境中创建win32程序 选择第三个这时可以运行看到hello world了. 程序解析: #define MAX_LOADSTRING 100  \\定义最大字长</span> HINSTANCE hInst; \\当前进程资源的句柄 TCHAR szTitle[MAX_LOADSTRING];   \\窗口上方显示的标题 TCHAR szWindowClass[MAX_LOADSTRING]; \\窗口定义的名称 实际上前面第一行的句柄就相当于ID号,每运行一个进程都需要系

TCP 接收窗口自动调节

https://technet.microsoft.com/zh-cn/magazine/2007.01.cableguy.aspx 欢迎来到 TechNet 杂志“网络专家”的第一部分.TechNet 网站上的专栏爱好者都知道我们探讨各种网络问题,我们每个月都将继续保持这个传统.如果您是新手,要查找以前专栏的存档,请访问网络专家站点. 现在开始介绍我们的第一个主题 - TCP 接收窗口. TCP 连接的吞吐量可以通过发送和接收应用程序.发送和接收 TCP 的实现以及 TCP 对等方之间的传输路

解锁win10的所有的快捷键

win10正式版是微软续已发布的Windows系统的最新版操作系统.Windows10(win10正式版)让人感到最意外的就是直接跳过了win9.作为微软最新一代操作系统,如果你已经将你的电脑升级windows10,如果你一些新功能还不会使用的话就真有些OUT了.和之前系统一样,Win10也加入了很多经典的快捷键,同时还加入了全新触控手势.那么Windows10系统有哪些新的快捷键呢 贴靠窗口:Win +左/右> Win +上/下>窗口可以变为1/4大小放置在屏幕4个角落 切换窗口:Alt +

【211】win10快捷键大全

参考:win10快捷键大全 win10常用快捷键 • 贴靠窗口:Win +左/右> Win +上/下>窗口可以变为1/4大小放置在屏幕4个角落 • 切换窗口:Alt + Tab(不是新的,但任务切换界面改进) • 任务视图:Win + Tab(松开键盘界面不会消失) • 创建新的虚拟桌面:Win + Ctrl + D • 关闭当前虚拟桌面:Win + Ctrl + F4 • 切换虚拟桌面:Win + Ctrl +左/右(图形操作如下)           另外,微软为Win10技术预览版命令行

windows10快捷键

• 贴靠窗口:Win +左/右> Win +上/下>窗口可以变为1/4大小放置在屏幕4个角落  • 切换窗口:Alt + Tab(不是新的,但任务切换界面改进)  • 任务视图:Win + Tab(松开键盘界面不会消失) • 创建新的虚拟桌面:Win + Ctrl + D • 关闭当前虚拟桌面:Win + Ctrl + F4 • 切换虚拟桌面:Win + Ctrl +左/右 另外,微软为Win10技术预览版命令行(Command Prompt)加入了Ctrl + V的支持,Scott Hans

win10快捷键大全

win10快捷键大全大家可以来了解一下,今天小编带来了win10常用快捷键,很多朋友喜欢使用快捷键来操作电脑,那么Windows10系统有哪些新的快捷键呢• 贴靠窗口:Win +左/右> Win +上/下>窗口可以变为1/4大小放置在屏幕4个角落  • 切换窗口:Alt + Tab(不是新的,但任务切换界面改进)  • 任务视图:Win + Tab(松开键盘界面不会消失) • 创建新的虚拟桌面:Win + Ctrl + D • 关闭当前虚拟桌面:Win + Ctrl + F4 • 切换虚拟桌面

win10快捷键大全 win10常用快捷键

win10快捷键大全大家可以来了解一下,今天小编带来了win10常用快捷键,很多朋友喜欢使用快捷键来操作电脑,那么Windows10系统有哪些新的快捷键呢? 贴靠窗口:Win +左/右> Win +上/下>窗口可以变为1/4大小放置在屏幕4个角落  ? 切换窗口:Alt + Tab(不是新的,但任务切换界面改进)  ? 任务视图:Win + Tab(松开键盘界面不会消失) ? 创建新的虚拟桌面:Win + Ctrl + D ? 关闭当前虚拟桌面:Win + Ctrl + F4 ? 切换虚拟桌面

Windows学习总结(1)——win10系统最新快捷键汇总

Win10新增功能快捷键大全: 贴靠窗口:Win + 左/右 >  Win + 上/下 > 窗口可以变为 1/4 大小放置在屏幕 4 个角落. 切换窗口:Alt + Tab(不是新的,但任务切换界面改进). 任务视图:Win + Tab(松开键盘界面不会消失). 创建新的虚拟桌面:Win + Ctrl + D. 关闭当前虚拟桌面:Win + Ctrl + F4. 切换虚拟桌面:Win + Ctrl + 左/右. Win10常用Win快捷键 Win键 桌面与开始菜单切换按键 Win + R 打开

Windows10的快捷键和新功能你利用了多少?

win10快捷键大全大家可以来了解一下,今天小编带来了win10常用快捷键,很多朋友喜欢使用快捷键来操作电脑,那么Windows10系统有哪些新的快捷键呢• 贴靠窗口:Win +左/右> Win +上/下>窗口可以变为1/4大小放置在屏幕4个角落 • 切换窗口:Alt + Tab(不是新的,但任务切换界面改进) • 任务视图:Win + Tab(松开键盘界面不会消失) • 创建新的虚拟桌面:Win + Ctrl + D • 关闭当前虚拟桌面:Win + Ctrl + F4 • 切换虚拟桌面:W