如何通知CTabCtrl中的所有控件,它们应该重新绘制(应该改变它们的大小)

How to notify all controls within CTabCtrl what they should be redrawn(should change their size)?

本文关键字:新绘制 绘制 改变 控件 通知 何通知 CTabCtrl      更新时间:2023-10-16

我得到了MYListCtrl的一个实例,它是从CTabCtrl实例中的CListCtrl派生的类。我为MYCListCtrl实现了onSize方法,并将其映射到WM_SIZE消息。

我想改变MYListCtrl的大小,当窗口包括CTabCtrl是调整大小,调整大小应该基于CTabCtrl的尺寸。我如何通知MYListCtrl需要调整大小?

你需要为父控件,即标签控件实现onsize。当tab控件。调用Onresize时,它应该依次调整列表控件的大小。使用setwinopos,您可以调整列表控件的大小。像这样:

void MyTabControl::OnSize(UINT nType, int cx, int cy)
{
    m_ListControl.SetWindowPos(/*various parameters */);
}