delphi 快捷键设置控件: THotKey


本文整理自网络,侵删。

 
运行效果图:

 

unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;
 
type
  TForm1 = class(TForm)
    HotKey1: THotKey;
    Memo1: TMemo;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  HotKey1.Modifiers := [];
  if CheckBox1.Checked then HotKey1.Modifiers := HotKey1.Modifiers + [hkShift];
  if CheckBox2.Checked then HotKey1.Modifiers := HotKey1.Modifiers + [hkCtrl];
  if CheckBox3.Checked then HotKey1.Modifiers := HotKey1.Modifiers + [hkAlt];
  if CheckBox4.Checked then HotKey1.Modifiers := HotKey1.Modifiers + [hkExt];
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Clear;
  Memo1.Align := alTop;
  Memo1.ScrollBars := ssVertical;
  Memo1.Lines.Add('1、你现在看到的可不是 TEdit, 它是处理快捷键用的 HotKey 控件;');
  Memo1.Lines.Add('2、激活后, 输入几个字母试试;');
  Memo1.Lines.Add('3、按 Ctrl+*; * 表示任意键;');
  Memo1.Lines.Add('4、按 Ctrl+Alt+*;');
  Memo1.Lines.Add('5、按 Shift+Ctrl+* 或 Shift+Alt+* 都可以;');
  Memo1.Lines.Add('6、按 Shift+Ctrl+Alt+* 也可以;');
  Memo1.Lines.Add('7、但按 Shift+* 不可以; 因为 HotKey.InvalidKeys 默认禁止了它;');
  Memo1.Lines.Add('8、不过我们可以用 HotKey.Modifiers 打开它.');
 
  CheckBox1.Caption := 'hkShift';
  CheckBox2.Caption := 'hkCtrl';
  CheckBox3.Caption := 'hkAlt';
  CheckBox4.Caption := 'hkExt';
 
  CheckBox1.Checked := False;
  CheckBox2.Checked := False;
  CheckBox3.Checked := True;
  CheckBox4.Checked := False;
 
  CheckBox2.OnClick := CheckBox1.OnClick;
  CheckBox3.OnClick := CheckBox1.OnClick;
  CheckBox4.OnClick := CheckBox1.OnClick;
end;
 
end.

来源:https://my.oschina.net/hermer/blog/319425

相关阅读 >>

Delphi 无边框窗体常见问题

Delphi gethref 获取<a href="链接"></a>中href的数据

Delphi版的base64转换函数(修改版)

Delphi 使richedit中的链接可以点击

Delphi 获取程序自身大小的函数

Delphi 简单的倒计时算法

Delphi中操作olevariant、variant和stream

Delphi timagelist 中使用 透明 png 图标

Delphi 实现程序放放多个进程条

Delphi 移动windows开始按钮到任务栏中的任何位置

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



打赏

取消

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

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

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

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

评论

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

    正在狠努力加载,请稍候...