正在更新选项卡选择的CPropertyPage

Updating CPropertyPage on tab selection

本文关键字:选择 CPropertyPage 选项 更新      更新时间:2023-10-16

我正在寻找单击CPropertyPage后更新它的最佳方式。目前,我的页面在OnInitDialog()期间接收它的信息。然而,当用户在第一页上做一些事情时,它可以影响第二页上的内容。

我唯一能想到的解决方案是一个"更新"按钮。单击按钮后,页面将通过调用OnInitDialog()期间发生的相同功能来刷新其信息。当用户单击CPropertySheet的另一个CPropertyPage时,是否发生事件?

使用"更新"按钮的设计很糟糕,因为它需要用户强制更新。相反,您应该注意维护可能导致更新的值的状态。这可以在结构或类对象中完成,然后可以使需要更新值的页面的CPropertyPage::OnSetActive可以访问这些对象OnSetActive在页面成为活动页面之前被调用。这是您在页面显示之前更新其值的机会。