Нужно ли использовать вложение диалоговых окон?
У меня такой вопрос. Есть диалоговое окно, в некоторой области которого время от времени все элементы управления должны будут заменяться другими.
Я вижу два способа организации этой замены:
― сложить в кучу все элементы управления, а в процессе работы менять их видимость;
― создать два варианта этой области на отдельных диалоговых окнах, а затем использовать так называемое вложение диалоговых окон, т.е. поочерёдно вкладывать эти окошки в основное окно, меняя тем самым набор элементов управления в нём.
Первый вариант мне не нравится, т.к. это будет очень непрофессионально, так как на этапе проектирования окна в этом месте будет очень много хлама (потом будет стыдно показать кому-то код).
Второй вариант слишком сложен для такого простого действия как замена всех элементов управления другими.
Вот я и подумал, нет ли другого способа, который был бы более профессиональным, чем первый, но проще и удобнее второго?
Второй способ вполне нормален и прост (например, при использовании TabControl'ов это чуть ли не самый приемлемый вариант). Можно сделать классы для диалогов унаследованными от CFormView, а в классе основного диалога создать экземпляр наследника от CDocument. Тогда почти ничего лишнего писать не придётся (переключение диалогов в зависимости от некоторого действия пользователя ничем не отличается от переключения видов в концепции документ/вид)