TControl.WMLButtonUp的inherited的作用——是为了给子类控件新的处理消息的机会
2015-08-25 20:41
507 查看
意外注意到这个小细节:
够阴险的啊,为什么要这样做呢?是为了提前把子类的一切充分融入到VCL官方框架中?
procedure TControl.WMLButtonUp(var Message: TWMLButtonUp); begin inherited; // 注意,如果是直接点击Form1,会执行TCustomForm.DefaultHandler(var Message);相当于给子类控件提供了新的处理消息的机会 if csCaptureMouse in ControlStyle then MouseCapture := False; if csClicked in ControlState then begin Exclude(FControlState, csClicked); if PtInRect(ClientRect, SmallPointToPoint(Message.Pos)) then Click; end; DoMouseUp(Message, mbLeft); end;
够阴险的啊,为什么要这样做呢?是为了提前把子类的一切充分融入到VCL官方框架中?
相关文章推荐
- 股市点评:为啥大多数散户必定亏钱?——心理学层面的分析
- LeetCode(36)Valid Sudoku
- awk命令格式
- 单源最短路径算法的MapReduce实现(Metis版本)
- 1069. The Black Hole of Numbers (20)纯模拟题,然跟
- 【转】使用 C++ 处理 JSON 数据交换格式
- Android的重要控件ListView的诸多问题处理方案
- LwIP学习笔记——STM32 ENC28J60移植与入门
- LeetCode(36)Valid Sudoku
- 决策树--c4.5
- iOS 时间戳转换为时间
- 气泡,归并,插入,快速,选择排序java实现
- 安卓虚拟机启动后报错: 类似 SDK Manager] Error: Error parsing .....devices.xml 解决方案
- 为什么需要SDN
- 坐标移动
- Excel中的宏--VBA的简单例子
- hdu 5413 CRB and Roads 位运算优化复杂度
- Android-实现简单画图画板
- Python中利用set去除列表(list)重复元素
- LCM from 1 to n