Вы не можете встроить оконную процедуру. Это сделано специально.
Вы можете легко увидеть архитектурное ограничение при регистрации класса окна. Это делается путем вызова RegisterClassExW , передавая структуру WNDCLASSEXW . Эта структура требует действительного lpfnWndProc
. Вы не можете взять адрес встроенной функции.
Есть и другие аспекты, которые требуют, чтобы оконная процедура была реальной функцией. Например, адрес хранимой процедуры окна служит точкой настройки и позволяет элементам управления субклассами , например, для настройки поведения стандартного элемента управления.
Вы ничего не можете сделать, чтобы избежать вызова функции , Если вы хотите ограничить область видимости переменных, вы можете присвоить результат лямбда-выражения члену lpfnWndProc
. Visual Studio обеспечивает синтез правильной сигнатуры функции.