Я рассматриваю некоторый код для проекта с открытым исходным кодом, и это мой первый раз, когда я имею дело с приложением Win32 (в основном я занимался консолью).Я вижу, что некоторые функции в коде являются Windows-процедурами, потому что они возвращают LRESULT CALLBACK.
Есть ли что-то, что программист должен сделать, чтобы убедиться, что DispatchMessage вызывает правильный WndProc или кодируется DispatchMessage таким образом, что он может определитьправильный WndProc сам по себе?
РЕДАКТИРОВАТЬ:
Я предполагаю, что способ DispatchMessage (const MSG *) выбирает между различными WndProc вПриложение основано на элементе дескриптора окна (HWND) объекта MSG, переданного ему. [Надеюсь, предыдущее предложение не было слишком запутанным.] Если сообщение было для окна редактирования, например, для приложения (а не для егоГлавное окно,), а затем DispatchMessage выберет функцию-член WndProc для конкретного класса, объектом которого является окно редактирования.Если бы сообщение было для главного окна, то оно выбрало бы функцию-член WndProc для класса, объектом которого является главное окно (для меня этот класс был бы классом Notepad_plus_Window).Впрочем, это всего лишь мысль.Я не нашел много, чтобы поддержать это, поэтому я был бы рад, если бы кто-нибудь мог подтвердить это.