文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:31
字数 266
阅读 14
收藏 0
运行效果图:


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.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/03/19/1113250.html

涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
topic3:Qt入门之常用qt控件认知之QLabel

QLabel是Qt最为基本和常用的一个控件。其定义包含在中。 1、整体简介(QLabel功能):QLabel的功能就是显示文字或者图片,没有用户交互功能,这也就是经常不位QLabel控件设置焦点的原因,QLa...

zhouhb1
2013/06/27
0
0
Eclipse 的快捷键Ctrl+Shift+F 不起作用

格式化代码(Eclipse 格式化代码块快捷键:Ctrl+Shift+F) 1.格式化java代码 : ①Ctrl+Shift+F 但是我们会遇到按 Ctrl+Shift+F不起作用的时候? Ctrl+Shift+F 在搜狗拼音里是简繁替换。一旦...

-天蓬元帅-
2013/12/12
12.7K
1
3D Touch实践讲解 --解决开发中的困惑点

3D Touch是我一直想学习的功能,晚上无意间在手机上按压了不同的应用(这么一说暴露了自己用的iPhone 6以上的设备),发现常用的应用都加了该功能。为了自己的好奇心,跟着官方文档做了一遍,把...

李周
2017/07/20
0
0
Swift3.0 功能一(持续更新)

相关知识点: 修改项目名称两种方式 1.Bundle name 2.Bundle display name try 三种处理异常的方式

袭锐
2016/10/21
0
0
实现自定义LookupComboBox

微软套装的ComboBox本身就提供了AutoCompete功能,只要设置AutoCompleteMode和AutoCompleteSource属性即可,而且功能还是很强大的。但是…还是满足不了我的要求。 1. AutoComplete时下拉框只...

arthurshan
2013/11/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PostgreSQL 11.3 locking

rudi
今天
5
0
Mybatis Plus sql注入器

一、继承AbstractMethod /** * @author beth * @data 2019-10-23 20:39 */public class DeleteAllMethod extends AbstractMethod { @Override public MappedStatement injectMap......

一个yuanbeth
今天
10
1
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
今天
4
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
今天
8
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
今天
81
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部