内嵌的CListCtrl能否做到跟随父窗口的大小变化而变化

youzi10 2005-06-28 08:57:06
如题,如果能实现,能不能提供一个思路,谢谢
...全文
152 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CodeKey 2005-06-29
  • 打赏
  • 举报
回复

void CParent::OnSize(UINT nType, int cx, int cy)
{
if(bCreate) //注意 添加个变量,初始化为false,init 中 为true
m_listCtrl.MoveWindow();
}
xing_xing_xing 2005-06-28
  • 打赏
  • 举报
回复
当然可以
要填充窗口吗?
void CParent::OnSize(UINT nType, int cx, int cy)
{
m_listCtrl->MoveWindow(0,0,cx,cy);
}
ann77 2005-06-28
  • 打赏
  • 举报
回复
void CParentWnd::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if (this->m_ctrlList.m_hWnd != NULL)
{
CRect rcClient;
this->GetClientRect(&rcClient);
rcClient.DeflateRect(1, 1, 1, 1);
this->m_m_ctrlList.SetWindowPos(NULL,
rcClient.left,
rcClient.top,
rcClient.Size().cx,
rcClient.Size().cy,
SWP_NOZORDER);
}
}
xkit 2005-06-28
  • 打赏
  • 举报
回复
SetWindowPos也可以
shadowac 2005-06-28
  • 打赏
  • 举报
回复
应该可以,在父窗口的大小变化时用 MoveWindow() 改变 CListCtrl的大小.

1. 计算ListCtrl窗口和父窗口的比例
2. 父窗口变化时按比例变化 ListCtrl窗口



void CParent::OnSize(UINT nType, int cx, int cy)
{
m_listCtrl->MoveWindow();
}
xkit 2005-06-28
  • 打赏
  • 举报
回复
OnSize()里调整大小

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧