Сабклассінг - це
Сабклассінг- процес перевизначення віконної процедури, яку Windows призначає за умовчанням.
Зміст
Призначення технології
Ця технологія застосовується, якщо потрібно наділити вікно будь-якою специфічною реакцією на повідомлення Windows. За допомогою сабклассінга можна організовувати контроль введення, блокування закриття вікна. У цілому найважливішим тут є те, що при необхідності програміст отримує повний контроль над поведінкою вікна.
Переваги сабклассінгу
У Windows є досить багатий вибір елементів керування, проте ви можете зіткнутися із ситуацією, коли потрібно доповнити поведінку елемента керування. І тут є утруднення: процедуру, яку Windows призначає елементу керування, змінити саму по собі неможливо. Є два шляхи:
- Написати елемент керування заново
- Скористайтеся можливістю перевизначення віконної процедури у даного елемента управління, що є сабклассингом.
Недоліки першого підходу в тому, що фактично програміст змушений знову «винаходити велосипед». Перевага ж сабклассинг в тому, що він дозволяє програмісту зосередиться тільки на дійсно потрібних йому Windows повідомленнях, а інші передати стандартної віконної процедури.
Механізм роботи сабклассінгу
Обмеження сабкласингу
Проблеми при використанні даної технології виникнуть у випадку, якщо програмуєте програму з використанням VCL, OWL або MFC. Це пов'язано з порядком обробки віконних повідомлень Windows у бібліотеках [2] .