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 firemonkey 手机屏幕自适应程序问题

Delphi 时间耗时统计

Delphi clipboard 截图后将图片数据复制到剪贴板

Delphi中使用tthread类实现多线程

Delphi一个简单的多线程例子

Delphi xe 应用程序横竖屏设置

windows7下使用Delphi7的方法

Delphi twebbrowser与嵌入youtube视频崩溃

Delphi system.messaging.pas例子

Delphi 读取image组件转换base64编码

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



打赏

取消

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

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

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

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

评论

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