zoukankan      html  css  js  c++  java
  • 快捷键设置控件: 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.
    
  • 相关阅读:
    把自己活成AI
    cmd 中文显示错误,解决办法
    直流通路,交流通路的理解 三极管
    欧拉公式的理解
    从一个量分别和两个量成正比,怎么推理出和他们乘积成正比?
    细说python类3——类的创建过程
    delphi 基础之二 面向对象概念初步
    delphi 基础之一 数据类型和基本语法
    delphi的多线程编程
    Delphi初学者应小心的六大陷阱
  • 原文地址:https://www.cnblogs.com/del/p/1113250.html
Copyright © 2011-2022 走看看