Сабклассінг - це

Сабклассінг- процес перевизначення віконної процедури, яку Windows призначає за умовчанням.

Зміст

Призначення технології

Ця технологія застосовується, якщо потрібно наділити вікно будь-якою специфічною реакцією на повідомлення Windows. За допомогою сабклассінга можна організовувати контроль введення, блокування закриття вікна. У цілому найважливішим тут є те, що при необхідності програміст отримує повний контроль над поведінкою вікна.

Переваги сабклассінгу

У Windows є досить багатий вибір елементів керування, проте ви можете зіткнутися із ситуацією, коли потрібно доповнити поведінку елемента керування. І тут є утруднення: процедуру, яку Windows призначає елементу керування, змінити саму по собі неможливо. Є два шляхи:

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

Недоліки першого підходу в тому, що фактично програміст змушений знову «винаходити велосипед». Перевага ж сабклассинг в тому, що він дозволяє програмісту зосередиться тільки на дійсно потрібних йому Windows повідомленнях, а інші передати стандартної віконної процедури.

Механізм роботи сабклассінгу

Обмеження сабкласингу

Проблеми при використанні даної технології виникнуть у випадку, якщо програмуєте програму з використанням VCL, OWL або MFC. Це пов'язано з порядком обробки віконних повідомлень Windows у бібліотеках [2] .