工具条资源就是一个位图,为何单击其中一部分,就能对应某个事件呢?
------------------------------------------------------------------
菜单资源比较好理解,有很多菜单项,单击某个菜单项,就对应某个菜单项的响应函数,
但是“工具条资源”就不好理解了。就是一个很长的位图。
为何单击工具条上不同的按钮,就能对应不同的响应函数呢?是不是,系统要判断,用户点击的是位图的哪个部分吗?

解决方案 »

  1.   

    看看资源的id,和某个菜单的id一样
      

  2.   

    应该是:
    鼠标动作时,windows发给工具条的WindowProc一个相应的鼠标消息,接到这个鼠标消息后,工具条的WindowProc把它转化成WM_COMMAND,再传给其parent
      

  3.   

    点击工具栏上的按钮会发送WM_COMMAND消息
      

  4.   


    这个工具条会识别现在鼠标的位置,然后根据上面按钮的大小,计算现在点击的是哪个按钮,如果点中了,就会产生一个WM_COMMAND,发送给接收者,这样,就响应了点击消息.按钮多少是根据工具条IDR_TOOLBAR这个资源里面的设置来的.也可以自己新加一些工具条按钮
      

  5.   

    这个应该就是这样子的,就像一个列表控件,你想知道鼠标点击在哪个Item里面,就是要根据控件的长度和每个Item的长度进行判断的。