MFC的List Control自适应主界面大小

响应WM_SIZE消息手动调整

实现步骤:

  1. 为对话框/窗口添加WM_SIZE消息处理

    • 在Class View中右键你的对话框类

    • 选择"类向导" → "Messages" → 找到WM_SIZE

    • 添加OnSize处理函数.

如图所示:

再代码中自动生成OnSize()函数;

cpp 复制代码
void CReadDataDlg::OnSize(UINT nType, int cx, int cy)
{
	CDialogEx::OnSize(nType, cx, cy);

	// TODO: 在此处添加消息处理程序代码
	if (m_listCtrl.GetSafeHwnd()) // 确保List Control已创建
    {
        CRect rect;
        GetClientRect(&rect); // 获取客户区大小
        
        // 设置边距

		rect.DeflateRect(20,(rect.bottom-rect.top)/5,20,(rect.bottom-rect.top)/5);
        
        // 调整List Control大小和位置
        m_listCtrl.MoveWindow(rect);
    }
}

重新运行程序放大/缩小主界面,List Control也会跟着缩放。

相关推荐
依然鸣1 小时前
PTA团体程序设计天梯赛L1真题讲解L1-077-080
开发语言·c++·算法·深度优先·pat考试·图论
库玛西3 小时前
现代 C++ 智能指针全景指南:从 RAII 思想到工业级实践
c语言·开发语言·c++·笔记·面试
liulilittle3 小时前
无锁并发容器的设计与实现原理
开发语言·c++·set·map·并发·无锁·lock-free
qeen874 小时前
【数据结构】自平衡二叉搜索树各种旋转算法原理解析及AVL树的C++实现
数据结构·c++·算法
Augustzero4 小时前
为什么线程不能说睡就睡?看懂等待与唤醒机制
c++·后端
程序员与背包客_CoderZ4 小时前
Linux D-Bus通信协议详解:从入门到C/C++编码实战
linux·服务器·c语言·c++·嵌入式硬件·嵌入式软件·dbus
冻柠檬飞冰走茶5 小时前
PTA基础编程题目集 7-35有理数均值(C++语言实现)
开发语言·数据结构·c++·算法·均值算法
wangchen_05 小时前
C++正则表达式
开发语言·c++·正则表达式
码匠许师傅7 小时前
【C++ 面试真题】聊聊 C++ 中的 lambda 表达式
java·c++·面试
依然鸣7 小时前
PTA团体程序设计天梯赛L1真题讲解L1-085-088
数据结构·c++·经验分享·算法·深度优先·pat考试