ON_COMMAND_RANGE(id,
idLast,
memberFxn )
将你的按钮的ID范围填到 id , itLast,然后在memberFxn 函数里面处理你的消息。
晕。工具栏上的按钮不是窗口。
都是一个一个画上去的,你可以看看MFC的CToolBar的代码,定义了一个按钮数据块,记录按钮ID,TIP,文字,图案ID,状态,绑定数据,RECT。鼠标点击工具条的时候,搜索按钮链表,判断命中那个按钮。找到后,然后向父窗口WM_COMMAND消息,传送命中的按钮ID,如果没命中。不发生消息。
其实内部逻辑很简单,复杂的部分就是按钮布局重排,有seperator/和嵌入控件的情况,处理有点繁琐。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)