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

相关推荐
hello world 99916 小时前
Cursor开发实战应用
c++·ai编程·cursor
kyle~16 小时前
工程数学---Eigen库(C++唯一标配线性代数库)
开发语言·c++·线性代数
fish_xk16 小时前
c++中的模板
c++·模板
CoderCodingNo16 小时前
【GESP】C++五、六级练习题 luogu-P1886 【模板】单调队列 / 滑动窗口
开发语言·c++·算法
paeamecium16 小时前
【PAT甲级真题】- All Roads Lead to Rome (30)
数据结构·c++·算法·pat考试·pat
John.Lewis16 小时前
C++进阶(6)C++11(2)
开发语言·c++·笔记
Mapleay17 小时前
CLion IDE 使用
c++
兵哥工控17 小时前
MFC用高精度计时器实现五段时序控制的改进
c++·mfc
会编程的土豆17 小时前
日常做题 vlog
数据结构·c++·算法
22信通小白17 小时前
USRP初学者使用手册(基础配置及bug记录)——Linux+Clion(单台X310收发)
linux·运维·c++·5g·bug·信息与通信