前言
想看看chromium的消息循环是怎么实现的.
在工程中搜索’drag’, 选择在d:\chrominum\src\ui\views\view.cc中膜拜代码. 能看到很多函数入参为ui::MouseEvent& event, 下断点试试。
断点命中后,看栈回溯,和普通windows程序一样,也是由消息循环触发的.
排除不相干的断点, 最终可以找到bool View::ProcessMouseDragged(const ui::MouseEvent& event),只有这个函数,是拖动tab页引起的拖动事件(用鼠标拖动内嵌的view题头不松手, 且移动). 大神写的函数名真是见名知意, 程序的可维护性很好.