2015-03-18 5 views
1

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

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

ответ

2

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

+0

Спасибо @rrirower. Вы Мастер CProperty-Master! –

Смежные вопросы