Почему бы не вызвать оконную процедуру вместо вызова CallWindowProc? - PullRequest
3 голосов
/ 10 октября 2011

Почему существует такая функция CallWindowProc?Мы предоставляем адрес оконной процедуры, поэтому не лучше ли вызывать функцию вместо вызова другой функции, которая вызывает функцию?

Ответы [ 2 ]

8 голосов
/ 10 октября 2011

Поскольку GetWindowLong (или GetWindowLongPtr) может возвращать значение, которое не является указателем на функцию, которое CallWindowProc может распознать и преобразовать в правильный вызов. [1]

1 голос
/ 10 октября 2011

Функция CallWindowProc обрабатывает преобразование Unicode в ANSI. Вы не можете воспользоваться этим преобразованием, если напрямую вызываете оконную процедуру.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms633571(v=vs.85).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...