Мне нужен плавный переход от одного диалога к другому, который выглядит так же - PullRequest
0 голосов
/ 23 февраля 2011

Я создаю приложение, в котором ряд кнопок расположен сверху, и в зависимости от выбранной кнопки другой ряд кнопок отображается сбоку. Я планировал сделать это, чтобы создать отдельное диалоговое окно для каждого верхнего ряда кнопок и открыть новое диалоговое окно при нажатии кнопки. Пока что я могу открыть новый диалог и скрыть основной, но очевидно, что что-то произошло. Кто-нибудь знает, как сделать это без проблем?

Спасибо за вашу помощь! Мэри

Ответы [ 3 ]

0 голосов
/ 25 февраля 2011

Наиболее часто используемое решение для того, чего вы пытаетесь достичь, это иметь вложенный диалог в главном диалоге. Позвольте мне объяснить:

  • Поместите верхние кнопки в главном диалоговом окне
  • Создайте новое диалоговое окно и установите для него стиль «Дочерний», чтобы его можно было перемещать и вкладывать в другое диалоговое окно
  • Когда вы создаете второй диалог (при вызове функции Create в коде), убедитесь, что вы указали первый диалог как родительский. Убедитесь, что вы не используете DoModal, чтобы показать этот диалог. Используйте Создать, а затем ShowWindow.
  • Убедитесь, что второе диалоговое окно меньше первого и расположите его так, чтобы оно отображалось под строкой кнопок.

Таким образом, вы можете создать отдельный диалог для каждого нажатия кнопки, каждый диалог имеет разные элементы управления, имитируя интерфейс с вкладками. Частичный пример здесь: http://www.codeproject.com/kb/dialog/modelesschild.aspx

Надеюсь, это поможет.

0 голосов
/ 25 февраля 2011

Звучит как интерфейс страницы свойств. Те используют ряд вкладок сверху, а не кнопки. Использование этого визуального интерфейса проще для вас: CPropertySheet и ваших пользователей, которые уже знакомы с этим интерфейсом.

0 голосов
/ 23 февраля 2011

Если интерфейс меняется, пользователь ДОЛЖЕН увидеть изменения. Это помогает им эффективно использовать программу. Вы пытаетесь добиться более эстетичного перехода?

...