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++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Урок 28. Включаем кнопку Apply для PropertyPage / Уроки MFC / Visual C++

Visual C++. MFC
Урок 28. Включаем кнопку Apply для PropertyPage

У созданного нами на прошлом этапе диалогового окна с вкладками есть один существенный недостаток - у него не работает кнопка Apply. А работать она должна следующим образом - как только мы изменяем что-нибудь в нашем окне со вкладками (в нашем конкретном примере мы можем только щелкать на checkbox'е), то кнопка Apply должна стать активной. Если вы нажимаете на нее, то она должна передать измененные данные из диалогового окна и снова стать серой. Ну что ж, исправим этот недостаток.

Вызываем редактор для первой вкладки (у нее идентификатор IDD_DIALOG1), и делаем двойной щелчок на checkbox'е для добавления обработчика. Будет предложено некоторое название функции-обработчика:

Название для обработчика

Соглашайтесь с этим названием. В сгенерированный код добавляем вызов метода SetModified:

void COptions1::OnCheck1() 
{
    // TODO: Add your control notification handler code here
    SetModified();
}

Вот, собственно, и все. Теперь, если вы запустите программу и вызовите диалоговое окно, то при изменение состояния checkbox'а (т. е. при щелчке на нем) кнопка Apply станет активной.

Активная кнопка Apply

Заметьте также, что при щелчке на кнопке Apply она опять становится неактивной. Так происходит потому, что при нажатии на Apply вызывается метод SetModified с параметром FALSE.