工具条资源就是一个位图,为何单击其中一部分,就能对应某个事件呢?
------------------------------------------------------------------
菜单资源比较好理解,有很多菜单项,单击某个菜单项,就对应某个菜单项的响应函数,
但是“工具条资源”就不好理解了。就是一个很长的位图。
为何单击工具条上不同的按钮,就能对应不同的响应函数呢?是不是,系统要判断,用户点击的是位图的哪个部分吗?
------------------------------------------------------------------
菜单资源比较好理解,有很多菜单项,单击某个菜单项,就对应某个菜单项的响应函数,
但是“工具条资源”就不好理解了。就是一个很长的位图。
为何单击工具条上不同的按钮,就能对应不同的响应函数呢?是不是,系统要判断,用户点击的是位图的哪个部分吗?
鼠标动作时,windows发给工具条的WindowProc一个相应的鼠标消息,接到这个鼠标消息后,工具条的WindowProc把它转化成WM_COMMAND,再传给其parent
这个工具条会识别现在鼠标的位置,然后根据上面按钮的大小,计算现在点击的是哪个按钮,如果点中了,就会产生一个WM_COMMAND,发送给接收者,这样,就响应了点击消息.按钮多少是根据工具条IDR_TOOLBAR这个资源里面的设置来的.也可以自己新加一些工具条按钮