Ноу Інти, лекція, діалогове вікно mfc

Створення обробника для дочірньої кнопки

Всі елементи управління. що знаходяться на формі діалогового вікна, є його дочірніми елементами. Вони управляються цим батьківським вікном, успадковують від нього стильові властивості, а також отримують від нього повідомлення операційної системи. Створимо для кнопки "Виконати" обробник для виклику стандартного діалогового вікна повідомлень.

  • Викличте контекстне меню для кнопки "Виконати" на шаблоні діалогового вікна і виконайте команду Add Event Handler (Додати обробник подій), щоб запустити майстер Event Handler Wizard
  • Встановіть значення полів майстра як показано на малюнку і клацніть на кнопці Add and Edit (Додати і редагувати)

Ноу Інти, лекція, діалогове вікно mfc

Майстер створить обробник події у вигляді методу

Виклик методу OnOK () буде завершувати роботу діалогового вікна. Одночасно в карті повідомлень класу CHelloDialogDlg з'явиться додатковий рядок, що зв'язує подію ON_BN_CLICKED про натискання клавіші, яка має код IDOK. з функцією-обробником OnBnClickedOk ()

  • Змініть код обробника OnBnClickedOk () на наступний
  • Побудуйте додаток і випробуйте його функціональність на даному етапі

Ноу Інти, лекція, діалогове вікно mfc

Створення обробника для батьківського вікна

  • Відкрийте панель Class View командою View / Class View
  • Знайдіть клас CHelloDialogDlg. відповідальний за головне діалогове вікно, виділіть її та розкрийте вкладку Properties (Властивості)
  • На вкладці Properties вгорі клацніть по піктограмі Messages (Повідомлення)

У вікні з'являться два стовпці з переліком всіх повідомлень, для яких можна створити обробники, і перелік імен всіх уже створених обробників.

Ноу Інти, лекція, діалогове вікно mfc

Зверніть увагу, що середовище не дозволяє реєструвати обробники батьківського діалогового вікна з довільними іменами, а призначає їм стандартне ім'я. З цієї причини в карті повідомлень немає необхідності пов'язувати для події конкретні елементи з конкретними обработчиками, як це потрібно робити для дочірніх елементів.

Заготівля функції-обробника клацання по діалогового вікна, яку автоматично додасть среда, має вигляд

  • Скорегуйте заготовку обробника події батьківського діалогового вікна так
  • Побудуйте додаток, яке після подвійного клацання по клієнтської області матиме вигляд

    Ноу Інти, лекція, діалогове вікно mfc

    Отже, для кожного доданого обробника повідомлення Среди генерує код в трьох місця:

    Ноу Інти, лекція, діалогове вікно mfc

    Схожі статті