我正在尝试MsgProc
在 Win32 中创建类似的东西。当他们声明MsgProc
函数时,他们有CALLBACK
它之前的类型。所以,我所要做的就是创建自己的消息函数,调用我的函数来处理消息。发送和处理消息时基本相同。我的问题是如何创建相同的流程?一个例子会很棒。
问问题
1961 次
3 回答
1
除了经典的函数指针和函数对象之外,您可能对新的 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! ";});
}
于 2010-11-27T08:38:49.477 回答
0
如果您可以使用 Boost,我肯定会给Boost.Signals一个机会,它们以干净和安全的方式提供您正在寻找的功能(Boost.Signals2甚至以线程安全的方式。)
于 2010-11-27T08:07:49.897 回答
0
如果您使用 C++,只需在您的类中使用函数指针:
于 2010-11-27T07:51:37.570 回答