首先建立一个对话框工程Test
为对话框添加一个列表控件listctrl

首先在对话框初始化函数中添加如下代码:
CWnd *pWnd;
pWnd=GetDlgItem(IDC_LIST1);//获取列表控件指针IDC_LIST1为控件ID
CRect rc;
GetClientRect(&rc);//获取对话框客户区大小
pWnd->MoveWindow(rc);//用对话框客户区大小重新定义列表控件的位置为工程添加WM_SIZE消息响应:

然后编辑类向导中的OnSize函数:(捕捉窗口变化消息)

在函数中添加如下代码:
CWnd *pWnd;
pWnd=GetDlgItem(IDC_LIST1);
if(pWnd&&nType!=1)//当对话框工程刚打开时不执行此代码
{
CRect rc;
GetClientRect(&rc);
pWnd->MoveWindow(rc);
}
本文介绍了一种方法,用于在Windows对话框应用程序中使列表控件(listctrl)自适应对话框大小的变化。通过在对话框初始化及窗口尺寸改变时调整列表控件的位置,实现了列表控件随窗口尺寸变化而变化的功能。
920





