Отключение обработки для диалогового окна MFC кнопка по умолчанию

Переводы статьи Переводы статьи
Код статьи: 122489 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Аннотация

Диалоговые окна Windows поддерживает использование кнопки по умолчанию (кнопка), который автоматически активируется при нажатии клавиши ENTER в тот момент, когда фокус установлен не на кнопке. Библиотеки классов MFC автоматически будет вызывать виртуальную функцию CDialog::OnOK() диалога, всякий раз, когда нажатием клавиши ENTER активируется кнопка по умолчанию (кнопка).

Это поведение соответствует рекомендациям, установленных "интерфейса Windows: руководство по созданию приложений." Это руководство входит в состав документации по пакету SDK Windows версии 3.1. Она также доступна издательства Microsoft Press.

Дополнительная информация

Несмотря на то, что рекомендуется использовать по умолчанию поддержка кнопки (кнопка), может потребоваться отключить или изменить стандартную реализацию в определенных ситуациях. Это можно сделать в приложении MFC, выполните следующие действия:

  1. Загрузить диалоговое окно в Studio приложения и измените идентификатор кнопки OK IDOK на что-нибудь другое, например IDC_MYOK. Кроме того снимите флажок из свойства кнопки по умолчанию.
  2. ClassWizard используется для создания сообщения обработки для этой кнопки функцию с именем OnClickedMyOK. Эта функция будет выполняться при получении сообщения BN_CLICKED от этой кнопки.
  3. В коде OnClickedMyOK вызов функции OnOK версию базового класса. Ниже приведен пример:
       void CMyDialog::OnClickedMyOK()
       {
          CDialog::OnOK();
       }
    						
  4. Переопределить OnOK в диалоговом окне и ничего не внутри функции. Ниже приведен пример:
       void CMyDialog::OnOK()
       {
       }
    						
  5. Запустите программу и открыть диалоговое окно. Переместить фокус на элемент управления, кроме кнопки «ОК». Нажмите клавишу RETURN. Обратите внимание, что CDialog::OnOK() никогда не выполняется.
Этот метод фактически отключает поддержку кнопка (кнопка) по умолчанию в приложении MFC. Кнопку «OK» будет вести себя как и раньше при активации мышью или с помощью назначенным нажатия клавиш, но клавиши ENTER не запустит OnOK обработки.

Этот же прием можно использовать для отключения или изменения OnCancel обработки по умолчанию. Нажмите клавишу ESC создает вызов CDialog::OnCancel так же, как клавиши ввода создает вызов функции OnOK.

Свойства

Код статьи: 122489 - Последний отзыв: 12 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Foundation Class Library 4.2 на следующих платформах
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 4.0 Standard Edition
Ключевые слова: 
kbmt KB122489 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:122489
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com