Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Как создать немодальный CPropertySheet со стандартными кнопками

В данной статье расказывается как включить стандартные кнопки OK, Cancel, и Apply в немодальный объект CPropertySheet.

Для немодального CPropertySheet, Microsoft Foundation Classes (MFC) изменяет размер окошка свойств и скрывает стандартные кнопки в функции CPropertySheet::OnInitDialog. Чтобы заставить MFC не делать этого, выполните следующие шаги:

  • Наследуйте класс от CPropertySheet и переопределите функцию OnInitDialog.

  • Установите "m_bModeless" в FALSE и удалите стиль WF_CONTINUEMODAL в "m_nFlags".

  • Вызовите CPropertySheet::OnInitDialog.

  • Установите "m_bModeless" обратно в TRUE и добавьте стиль WF_CONTINUEMODAL в "m_nFlags".

Следующий пример иллюстрирует данный способ:

// CMySheet наследован от CpropertySheet.
 // Необходимые опции для компиляции: поумолчанию.
 
 BOOL CMySheet::OnInitDialog()
 {
    m_bModeless = FALSE;
    m_nFlags |= WF_CONTINUEMODAL;
 
    BOOL bResult = CPropertySheet::OnInitDialog();
 
    m_bModeless = TRUE;
    m_nFlags &= ~WF_CONTINUEMODAL;
    return bResult;
 } 

В немодальном объекте CPropertySheet, кнопки OK и Cancel не закрывают property sheet если по ним кликнуть. Они отправляют сообщение WM_COMMAND с IDOK или IDCANCEL в окошко свойств и вызывают функции OnOK или OnCancel для страницы. Для того, чтобы можно было закрыть окошко свойств, необходимо в CPropertySheet добавить обработчики ON_COMMAND для IDOK и IDCANCEL и вызвать функцию EndDialog.

 



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS