映射有很多 最基本的能用到的是MFC的消息映射机制 就是在消息处理函数里面把根据不同的消息ID 和 处理函数地址相关联起来 的就是这个。
映射的概念是:设有一个集合D,若存在一个规则f:使得对任意x属于D根据规则f在Y集合中都有一个唯一确定的元素与之对应
那么称 f:由D到Y为映射,
那么MFC中的映射,中集合D就是消息集合,而Y集合就是消息处理程序
比如WM_PAINT,对应 OnPaint() 是将消息与相应的处理程序函数的地址关联起来 这样比较快 哈
其实还是用了 事件 和事件处理程序
是这样的 在OnPaint()函数里
我们实例一个CPaintDC对象 因为它的构造函数会自动调用BeginPaint()锁定无效矩形区域
然后OnDraw()然后
析构函数会自动调用EndPaint() 释放对矩形区域的内存锁定
假如窗口有一块区域被遮挡 那OS检测到区域无效这个事件 然后将对应的消息
发给窗口消息队列 我们MFC用的C++映射吗 所以就会根据映射函数找到OnPaint()函数地址
并调用它 应该是OS调用的
或者我记得有一个函数可以手动让触发Client整个无效的事件 然后让OS检测到
好像是