Обновление CPropertyPage на вкладке выбора

Я ищу лучший способ обновить CPropertyPage после его нажатия. В настоящее время мои страницы получают информацию во время OnInitDialog(), Однако когда пользователь что-то делает на первой странице, это может повлиять на то, что находится на второй странице.

Единственное решение, которое я могу использовать, это кнопка "Обновить". После нажатия кнопки страница обновляет свою информацию, вызывая те же функции, которые выполняются во время OnInitDialog(), Есть ли событие, которое происходит, когда пользователь нажимает на другую страницу CPropertyPage таблицы CPropertySheet?

1 ответ

Решение

Использование кнопки "Обновить" является плохим дизайном, поскольку требует от пользователя принудительного обновления. Вместо этого вы должны следить за состоянием значений, которые могут вызвать обновление. Это можно сделать в структуре или объекте класса, которые затем можно сделать доступными для CPropertyPage::OnSetActive страницы, для которой требуются обновленные значения. OnSetActive вызывается непосредственно перед тем, как страница станет активной. Это ваша возможность обновить значения на странице перед ее отображением.

Другие вопросы по тегам