• 快捷键设置控件: THotKey [1]


    运行效果图:


    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.
    
  • 相关阅读:
    委托与事件
    JSON
    JavascriptBoolean运算符
    SQL执行字符串
    ref和out与SQL中的output
    早绑定、晚绑定
    浅复制和深复制
    Android Fragments 详细使用
    Android 两种为自定义组件添加属性的使用方法和区别
    Gallery 3D+倒影 滑动切换图片示例(转)
  • 原文地址:https://www.cnblogs.com/del/p/1113250.html
Copyright © 2020-2023  润新知