我正在尝试在 Win32 中创建类似 MsgProc
的东西。当他们声明 MsgProc
函数时,它们前面有 CALLBACK
类型。所以,我想做的就是创建我自己的消息函数,调用我的函数来处理消息。发送和处理消息时基本上是一样的。我的问题是如何创建相同的流程?一个例子会很棒。
最佳答案
除了经典的函数指针和函数对象之外,您可能会对新的 C++0x lambda 感兴趣。
这是将 lambda 传递给计时器函数的示例。
#include <windows.h>
#include <iostream>
#include <functional>
void onInterval(DWORD interval, std::function<void ()> callback) {
for (;;) {
Sleep(interval);
callback();
}
}
int main() {
onInterval(1000, []() {std::cout<<"Tick! ";});
}
关于C++ CALLBACK函数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4290562/