开发win32程序,离不开消息处理。
其实,所有的类成员调用都可以改写:
例如:
x.set(y)
可改写成funcof(x)("set",y)
NOTE:funcof(x)返回与x关联的函数。
更进一步,x直接视为函数。
则可改写成:x("set",y)
下面我写个C++代码 你就会明白:
#include<string>
template<class Tx,class Ty>
auto pair(Tx x, Ty y){
return [x,y](std::string msg,...){
if(msg=="first")
return x;
else if(msg=="second")
return y;
};
}
这段代码在一定程度上模拟了pair类。如果你使用的是某些特定的语言,完全模拟是不成问题的。
明白了这点,就不难领悟Win32 的 消息处理了。