成语大全网 - 汉语词典 - VC中控件索引是如何实现的

VC中控件索引是如何实现的

判断鼠标点击位置的方法,获取鼠标坐标进行计算是必然的,这个无法回避。

列表条目是否是窗口不是一定的,CListBox和CListCtrl的子条目都不是窗口,GridCtrl是窗口。

从内部逻辑上,首先必然存储一个类似指针链表的东西作为内容存储。之后绘制逻辑和鼠标点击逻辑尽量使用相同计算方法,这样就可以通过控件相对坐标和滚动位置等信息计算选中条目的索引了。

判断一个控件的条目是否是窗口,有一个简单的办法,就是通过VC自带工具SPY++在实际窗口上获取句柄,如果每个列表条目和窗口一样有句柄,那么就是窗口,否则就不是。