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 xe5实现通过tmemorystream将一个unicodestring写入到一个unicode文本文件

Delphi 去除 tstringlist 重复项

Delphi整理二(object pascal语言)

Delphi 坐标截图如何实现

wmi技术介绍和应用

Delphi xe10 获取屏幕截图

Delphi生成随机字符串

Delphi 如何将颜色值转换为html格式?

Delphi apihook createprocess

Delphi中三种方法获取windows任务栏的高度

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



打赏

取消

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

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

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

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

评论

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