Например, у меня сейчас есть приложение MFC. Пользователи могут щелкнуть текстовое поле имени пользователя, а затем ввести имя пользователя. Затем пользователь может щелкнуть текстовое поле пароля, а затем ввести пароль. Затем пользователь может нажать кнопку входа. В приложении MFC VS 2013 сгенерирует для меня соответствующие функции обратного вызова, например:
afx_msg void OnBnClickedOk();
afx_msg void OnBnClickedCancel();
Теперь я ожидаю: когда пользователь нажимает «Левую кнопку», я могу распечатать «щелчок левой кнопкой» в файл журнала, когда пользователь нажимает «кнопку отмены», я могу распечатать «нажатие кнопки отмены» в файл журнала. Я знаю, что могу сделать это в каждой функции обратного вызова. подобно:
void LoginDialog::OnBnClickedOk()
{
printToLog("Left Button click");
}
Но проблема в том, что это приложение очень большое, оно имеет как минимум сотни функций обратного вызова. Я не могу поместить эту функцию «printToLog» в каждую функцию обратного вызова. Следовательно, есть ли функция, которая может получать все эти сгенерированные сообщения Windows? Если есть такая функция, я могу просто добавить свою функцию printToLog в эту функцию обратного вызова. Я искал в Интернете, https://msdn.microsoft.com/en-us/library/windows/desktop/ms632593(v=vs.85).aspx Но материалы по этой ссылке не то, что мне нужно. Я не могу слишком сильно пересматривать существующий код.