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也会跟着缩放。

相关推荐
AA陈超5 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-14 属性菜单 - 文本值行
c++·游戏·ue5·游戏引擎·虚幻
云知谷5 小时前
【经典书籍】C++ Primer 第15章类虚函数与多态 “友元、异常和其他高级特性” 精华讲解
c语言·开发语言·c++·软件工程·团队开发
weixin_582985186 小时前
OpenCV cv::Mat.type() 以及类型数据转换
c++·opencv·计算机视觉
oioihoii8 小时前
深入理解 C++ 现代类型推导:从 auto 到 decltype 与完美转发
java·开发语言·c++
报错小能手8 小时前
项目——基于C/S架构的预约系统平台 (1)
开发语言·c++·笔记·学习·架构
lingran__8 小时前
算法沉淀第十天(牛客2025秋季算法编程训练联赛2-基础组 和 奇怪的电梯)
c++·算法
oioihoii10 小时前
当无符号与有符号整数相遇:C++中的隐式类型转换陷阱
java·开发语言·c++
Yupureki11 小时前
从零开始的C++学习生活 13:红黑树全面解析
c语言·数据结构·c++·学习·visual studio
2401_8762213411 小时前
Euler
c++·数学·算法
赵杰伦cpp12 小时前
C++的继承机制精讲
java·开发语言·c++·后端