Задача — интерфейс с большим количеством полей для ввода. они разделены по группам. разные поля в разных диалоговых окнах. как сделать переключение диалогового окна по нажатию кнопки? именно переключения а не открытия(в пределах одной и той-же рамки).
помогите, нужно очень срочно
если можно, проконсультируйте с нуля. в MFC не силен
Здравствуйте, Ettore, Вы писали:
E>Задача — интерфейс с большим количеством полей для ввода. они разделены по группам. разные поля в разных диалоговых окнах. как сделать переключение диалогового окна по нажатию кнопки? именно переключения а не открытия(в пределах одной и той-же рамки). E>помогите, нужно очень срочно E>если можно, проконсультируйте с нуля. в MFC не силен
Вообще-то для этого используются CPropertyPage и CPropertySheet. Как вариант — делать окна невидимыми.
Re[2]: открытие окна - MFC
От:
Аноним
Дата:
01.07.08 15:12
Оценка:
Спасибо, а можно по подробнее?
что я должен вклинить в кнопку NEXT чтоб перестало отображаться окно IDD_DIALOG, а стало отображаться коно IDD_DIALOG1?
void CCDlg::OnBnClickedNext()
{
// TODO: Add your control notification handler code here
}
Здравствуйте, Socrat, Вы писали:
S>Вообще-то для этого используются CPropertyPage и CPropertySheet. Как вариант — делать окна невидимыми.
Похоже, вам нужно делать набор property pages, чтобы всё выглядело, как tab control (но работать будет не в пример лучше таб контрола).
см. MSDN, Property Sheets
там список тем.
В частности, Creating a Modeless Property Sheet
И пример есть
А>Спасибо, а можно по подробнее? А>что я должен вклинить в кнопку NEXT чтоб перестало отображаться окно IDD_DIALOG, а стало отображаться коно IDD_DIALOG1? А>void CCDlg::OnBnClickedNext() А>{ А> // TODO: Add your control notification handler code here А>}
А>Здравствуйте, Socrat, Вы писали:
S>>Вообще-то для этого используются CPropertyPage и CPropertySheet. Как вариант — делать окна невидимыми.
Ваши диалоги-"формы" создаете с пом. CDialog::Create(...) при инициализации родительского, главного диалога. В ресурсах для них должен быть указан стиль Child. При появлении главного диалога все "формы", кроме текущей, прячете. При нажатии на Next прячете текущую, показываете следующую (ShowWindow(SW_HIDE или SW_SHOW)).
Спасибо!
на сайте чтото никаких примеров не нашел. локальной нет.
меня может реализация чеез TabControl тоже устроит, главное — ка проще и доступнее для новичка.
если что, можете скопировать пример сюда, в форум?
Здравствуйте, _Jane_, Вы писали:
_J_>Здравствуйте, Аноним, Вы писали:
_J_>Похоже, вам нужно делать набор property pages, чтобы всё выглядело, как tab control (но работать будет не в пример лучше таб контрола). _J_>см. MSDN, Property Sheets _J_>там список тем. _J_>В частности, Creating a Modeless Property Sheet _J_>И пример есть
Здравствуйте, goto, Вы писали:
G>Ваши диалоги-"формы" создаете с пом. CDialog::Create(...) при инициализации родительского, главного диалога. В ресурсах для них должен быть указан стиль Child. При появлении главного диалога все "формы", кроме текущей, прячете. При нажатии на Next прячете текущую, показываете следующую (ShowWindow(SW_HIDE или SW_SHOW)).
И EnableWindow( FALSE или TRUE ) надо тоже не забывать )
Здравствуйте, Were, Вы писали:
W>Здравствуйте, goto, Вы писали:
G>>Ваши диалоги-"формы" создаете с пом. CDialog::Create(...) при инициализации родительского, главного диалога. В ресурсах для них должен быть указан стиль Child. При появлении главного диалога все "формы", кроме текущей, прячете. При нажатии на Next прячете текущую, показываете следующую (ShowWindow(SW_HIDE или SW_SHOW)). W>И EnableWindow( FALSE или TRUE ) надо тоже не забывать )
Да лишнее это, вроде как. Невидимые окна зачем дизэблить-то?
Здравствуйте, goto, Вы писали:
G>Ваши диалоги-"формы" создаете с пом. CDialog::Create(...) при инициализации родительского, главного диалога. В ресурсах для них должен быть указан стиль Child. При появлении главного диалога все "формы", кроме текущей, прячете. При нажатии на Next прячете текущую, показываете следующую (ShowWindow(SW_HIDE или SW_SHOW)).
Ваше предложение какое-то через ж... Есть PropertySheet & PropertyPage.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, goto, Вы писали:
G>>Ваши диалоги-"формы" создаете с пом. CDialog::Create(...) при инициализации родительского, главного диалога. В ресурсах для них должен быть указан стиль Child. При появлении главного диалога все "формы", кроме текущей, прячете. При нажатии на Next прячете текущую, показываете следующую (ShowWindow(SW_HIDE или SW_SHOW)). А>Ваше предложение какое-то через ж... Есть PropertySheet & PropertyPage.
Если не нужно показывать табы — вполне себе тоже решение.
Здравствуйте, Ettore, Вы писали:
E>Спасибо! E>на сайте чтото никаких примеров не нашел. локальной нет. E>меня может реализация чеез TabControl тоже устроит, главное — ка проще и доступнее для новичка. E>если что, можете скопировать пример сюда, в форум?
Вот мелкий примерчик сделала — modeless property page (выглядит, как таб контрол)
Тогда можно будет переключаться между страничками как угодно, а не друг за дружкой, как это было бы в режиме Wizard.
_J_>>Здравствуйте, Аноним, Вы писали:
_J_>>Похоже, вам нужно делать набор property pages, чтобы всё выглядело, как tab control (но работать будет не в пример лучше таб контрола). _J_>>см. MSDN, Property Sheets _J_>>там список тем. _J_>>В частности, Creating a Modeless Property Sheet _J_>>И пример есть