深入探究Tedit组件的键盘事件和鼠标事件

在Delphi 开发过程中,会用到各种各样的VCL组件,每个组件都会有一系列的event(事件). 下面就Tedit 组件,对它的键盘事件和鼠标事件进行一个对比分析。

一、键盘事件

  1. OnKeyDown 事件

    当按下键盘上的任意一个键,如字母键、数字键、功能键(F1~F12)、Ctrl键、Shift键或Alt键等,都将触发一个 OnkeyDown 事件.

  2. OnKeyPress 事件

    当按下键盘上的一个字符键(如字母键、数字键等)时,会触发 一个 OnKeyPress事件. 但如果单独按下功能键(F1~F12)、Ctrl键、Shift键或Alt键等,不会触发OnKeyPress事件

  3. OnKeyUp 事件

    当抬起键盘上被按下的键时,会触发 一个 OnKeyUp事件. 对于功能键(F1~F12)、Ctrl键、Shift键或Alt键等,也会触发OnKeyUp事件

注意: 按下某个键长时间不放,或同时按下多个键,会多次触发OnKeyDown事件

二、鼠标事件

  1. OnClick 事件

    在组件上单机鼠标左键,就会触发一个 OnClick 事件. 需要注意的是:OnClick 事件只有在一个组件上按下鼠标左键并在同一个组件上释放左键的情况下才会发生. 如果按下左键后将鼠标移动到别的地方再释放,就不会触发该事件.

  2. OnMouseDown 事件

    当按下鼠标上的任意一个键时,会触发 一个 OnMouseDown事件.

  3. OnMouseUp 事件

    当按下鼠标上的某个按键,然后松开后时,会触发 一个 OnMouseUp事件.

  4. OnMouseMove 事件

    当鼠标的位置发生了改变后会产生一个OnMouseMove事件。
    如果窗体有OnMouseMove事件的处理过程,窗体中的某个组件也具有OnMouseMove的处理过程,那么当鼠标在窗体中移动时,执行的过程是窗体的OnMouseMove事件的处理过程;当鼠标在组件上移动时,执行的过程是组件的OnMouseMove事件的处理过程,而将窗体的OnMouseMove事件的处理过程屏蔽掉.

你可能感兴趣的:(Delphi,onclick,键盘事件,鼠标事件,Tedit)