.Net中消息映射函数为什么可以放在DECLARE宏后?

以前在写VC++6的时候,我见到有特别说明的,
如果手工添加消息映射函数,要放在DECLARE_MESSAGE_MAP()宏之前,
而且还警靠最好不要手动来写函数,
日前编写VC++.net时,发现系统自己产生的函数也未必放在那之前。
而且我自己写的函数也可以不必放在前面,
请问它是怎么处理的?