Delphi 拦截Tab按键消息


本文整理自网络,侵删。

 
如果要拦截TAB键行为,应该捕获 CM_DIALOGKEY 消息。在这里示例中,如果将 YouWantToInterceptTab 布尔值设置为 true,则将会吃掉 TAB 键:


unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;
type
    TForm1 = class(TForm)
        private
        YouWantToInterceptTab: Boolean;
        procedure CMDialogKey(var AMessage: TCMDialogKey); message CM_DIALOGKEY;
        public
        { Public declarations }
    end;
var
 Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.CMDialogKey(var AMessage: TCMDialogKey);
begin
 if AMessage.CharCode = VK_TAB then
 begin
    ShowMessage('TAB key has been pressed in ' + ActiveControl.Name);
    if YouWantToInterceptTab then
    begin
        ShowMessage('TAB key will be eaten');
        AMessage.Result := 1;
    end
    else
        inherited; 
        end
        else
        inherited;
    end;
end.

相关阅读 >>

Delphi hextoint

Delphi纯api窗体程序

Delphi 检验手机号 ismobilenumber

Delphi 获取jpg文件宽度高度的方法

Delphi 释放res资源文件

Delphi 安卓动态申请权限清单类

Delphi编写的一款锁屏小工具

Delphi判断字符串是否是汉字

[Delphi]钩子(hook)机制的使用

Delphi运行时拖拉、改变元件大小

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...