C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Дебетовая карта Home Credit [CPS] RU

 Как создать немодальный CPropertySheet со стандартными кнопками / - Sheet, Property Page, TabCtrl / Элементы управления

Как создать немодальный 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.

 

 






Дебетовая карта Home Credit [CPS] RU