这篇文章概括介绍了单元格的哪些事件是由控件的用户动作触发的。虽然它没有全面地列出的用户可能执行的每一个动作,但是它详细地描述了用户所使用的大部分普通操作所引发的事件。
因为某些动作一直出现,或者某些动作反复出现, 我们就在列表中放弃了这部分动作。举例来说,这些列表并不包括MouseMove, MouseHover, MouseEnter, MouseLeave, Invalidated和CursorChanged事件。
如果你想在此基础上做进一步的研究,我们提供了一个示例以便你与Spread控件进行交互并且可以在列表框中查看 它们触发的相应事件。这个示例叫做fpspreadevents,位于产品安装目录的samples\examples文件夹中。
一般情况下,如果你寻找一种方法来拦截单元格中发生的每一个改变,可以考虑EditChange事件; 当用户往单元格中输入数据时,用户的每一次按键就会触发EditChange事件。
点击动作
Spread中多种点击,双击,以及右键点击动作会触发这些事件:
用户动作 |
事件列表 |
点击一个普通的单元格 |
MouseDown Enter GotFocus CellClick LeaveCell EnterCell Paint MouseUp MouseCaptureChanged SelectionChanged Paint |
点击一个组合框单元格并选择一项 |
ComboDropDown ComboSelChange EditChange ComboCloseUp Paint |
点击一个多选单元格并选择一项 |
MouseDown CellClick LeaveCell EnterCell EditModeStarting MouseCaptureChanged ControlAdded EditModeOn LostFocus Paint ButtonClicked |
双击一个普通单元格(进入编辑模式) |
MouseDown CellClick LeaveCell EnterCell Paint MouseUp MouseCaptureChanged SelectionChanged Paint MouseDown CellDoubleClick EditModeStarting MouseCaptureChanged Layout ControlAdded EditModeOn LostFocus Paint |
选择动作
在Spread中,处理选择单元格操作以及使用选择区域的各种动作会导致如下事件:
用户动作 |
事件列表 |
选择一个单元格 - 点击一个普通(默认)的单元格 |
|
选择一个区域的单元格 - 点击一个普通(默认)的单元格并拖到另一个单元格 |
...(你每一次拖过另一行或列的单元格时,都会重复 Paint ) |
选中一行(或一列) - 点击表头单元格 |
输入数据动作
在Spread中,与输入数据相关的各种动作会触发如下事件。这仅仅是一部分。你也可以查看当输入公式时,会发生什么事件。 以下是输入一个值时引发的事件:
用户动作 |
事件列表 |
在单元格中输入一个值 |
(查看“点击单元格”所引发的事件) (每一次按键引发重复的EditChange事件) |
本文转自 powertoolsteam 51CTO博客,原文链接:http://blog.51cto.com/powertoolsteam/634822,如需转载请自行联系原作者