文档章节

Delphi 2010 新增功能之: 软键盘、触摸键盘(TTouchKeyboard)

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 556
阅读 6
收藏 0
本例效果动画图(因不是触摸屏, 只能用鼠标测试一下):


代码文件:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Keyboard, TeCanvas;

type
  TForm1 = class(TForm)
    TouchKeyboard1: TTouchKeyboard;
    Edit1: TEdit;
    Memo1: TMemo;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    ButtonColor1: TButtonColor;
    ButtonColor2: TButtonColor;
    procedure FormCreate(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure ButtonColor1Click(Sender: TObject);
    procedure ButtonColor2Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//是否要背景
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  case CheckBox1.Checked of
    True: TouchKeyboard1.DrawingStyle := TCustomTouchKeyboard.TDrawingStyle.dsGradient;
    False: TouchKeyboard1.DrawingStyle := TCustomTouchKeyboard.TDrawingStyle.dsNormal;
  end; {注意 TDrawingStyle 类型是定义在 TCustomTouchKeyboard 内部的}

  case CheckBox1.Checked of
    True: CheckBox1.Caption := 'DrawingStyle := dsGradient';
    False: CheckBox1.Caption := 'DrawingStyle := dsNormal';
  end;
end;

//背景过渡色 - 起始色
procedure TForm1.ButtonColor1Click(Sender: TObject);
begin
  TouchKeyboard1.GradientStart := TButtonColor(Sender).SymbolColor;
end;

//背景过渡色 - 终止色
procedure TForm1.ButtonColor2Click(Sender: TObject);
begin
  TouchKeyboard1.GradientEnd := TButtonColor(Sender).SymbolColor;
end;

//大小键盘切换
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
  case CheckBox2.Checked of
    True: begin
      TouchKeyboard1.Layout := 'NumPad';
      TouchKeyboard1.Width := 180;
      TouchKeyboard1.Height := 150;
      CheckBox2.Caption := 'Layout := NumPad';
    end;
    False: begin
      TouchKeyboard1.Layout := 'Standard';
      TouchKeyboard1.Width := 550;
      TouchKeyboard1.Height := 180;
      CheckBox2.Caption := 'Layout := Standard';
    end; {注意: 这里的 Layout 属性是个字符串}
  end;
end;

//更换键名显示, 这在设计时通过 KeyCaptions 属性调整更方便
procedure TForm1.CheckBox3Click(Sender: TObject);
begin
  case CheckBox3.Checked of
    True: begin
      TouchKeyboard1.CaptionOverrides.SetCaption('Esc', '退出');
      TouchKeyboard1.CaptionOverrides.SetCaption('Backspace', '退格');
      TouchKeyboard1.CaptionOverrides.SetCaption('Del', '删除');
      TouchKeyboard1.CaptionOverrides.SetCaption('Enter', '回车');
      {Esc Backspace Tab Del Caps Enter LeftShift RightShift LeftCtrl LeftAlt RightAlt RightCtrl}
    end;
    False: TouchKeyboard1.CaptionOverrides.Clear;
  end;
  TouchKeyboard1.Redraw; {重绘}
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Font.Color := clBlue;
  Memo1.Font.Size := 12;
  Memo1.ScrollBars := ssBoth;

  Edit1.Font.Color := clRed;
  Edit1.Font.Size := 12;

  CheckBox1.Caption := '背景色';
  CheckBox2.Caption := '大小键盘切换';
  CheckBox3.Caption := '功能键重命名';
end;

end.

 
 
 
 
 

 

 

  

窗体文件:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 336
  ClientWidth = 566
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object TouchKeyboard1: TTouchKeyboard
    Left = 8
    Top = 148
    Width = 550
    Height = 180
    GradientEnd = clSilver
    GradientStart = clGray
    Layout = 'Standard'
  end
  object Memo1: TMemo
    Left = 8
    Top = 43
    Width = 297
    Height = 99
    Lines.Strings = (
      'Memo1')
    TabOrder = 1
  end
  object Edit1: TEdit
    Left = 8
    Top = 8
    Width = 297
    Height = 21
    TabOrder = 2
    Text = 'Edit1'
  end
  object ButtonColor1: TButtonColor
    Left = 327
    Top = 43
    Width = 102
    Caption = 'ButtonColor1'
    TabOrder = 3
    OnClick = ButtonColor1Click
  end
  object ButtonColor2: TButtonColor
    Left = 448
    Top = 43
    Width = 102
    Caption = 'ButtonColor2'
    TabOrder = 4
    OnClick = ButtonColor2Click
  end
  object CheckBox1: TCheckBox
    Left = 327
    Top = 10
    Width = 223
    Height = 17
    Caption = 'CheckBox1'
    TabOrder = 5
    OnClick = CheckBox1Click
  end
  object CheckBox2: TCheckBox
    Left = 327
    Top = 88
    Width = 194
    Height = 17
    Caption = 'CheckBox2'
    TabOrder = 6
    OnClick = CheckBox2Click
  end
  object CheckBox3: TCheckBox
    Left = 327
    Top = 111
    Width = 194
    Height = 17
    Caption = 'CheckBox3'
    TabOrder = 7
    OnClick = CheckBox3Click
  end
end

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/10/15/1583781.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
Adnroid正日臻完善

Android SDK 1.5的preview发布以后,最近这几天相关的消息非常多,William觉得有必要在这里整理一下,看一看Android 1.5的改进,当然今天主要是从用户的角度出发,关于API变化相关的会在后续...

老枪
2009/04/19
409
1
Android安全输入设计与思考

随着移动支付的快速普及,如何保障用户信息安全这个问题变得越来越重要。 本文对市面上的Android安全键盘进行了总结,详细分析了为什么采用安全键盘,怎么样实现安全键盘等问题。以及各个产品...

老鹰a
06/29
0
0
Android解析WindowManager(二)Window的属性

1.概述 上一篇文章中我们讲过了Window、WindowManager和WMS之间的关系,WMS是Window的最终管理者,Window好比是员工,WMS是老板,为了方便老板管理员工则需要定义一些“协议”,这些“协议”...

刘望舒
2017/10/10
0
0
Android中关于键盘的操作

一、打开输入法窗口: InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUTMETHODSERVICE); // 接受软键盘输入的编辑文本或其它视图 imm.showSoft......

董家二少
2014/03/28
0
0
VMware卸载后键盘失灵的解决方案

说起这VMware(D版)安装就来气.本来公司电脑就很差.就一个C盘,安装的时候说D驱动器不存在,行.搞个subst命令来弄一个,卸载时.还得弄一个. 当我卸载后重启!悲剧发生了~在输入登陆密码时键盘死活...

晨曦之光
2012/06/05
703
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

bat强制启用宏

运行bat文件后,将宏的安全等级设为低,达到启用宏的目的。 REM 这个文件将提供用户快速设置Excel宏的安全等级@ECHO OFFCLS:cmd4REG ADD "HKEY_CURRENT_USER\Software\Mi...

tedzheng
12分钟前
0
0
流,用声明性的方式处理数据集 - 读《Java 8实战》

引入流 Stream API的代码 声明性 更简洁,更易读 可复合 更灵活 可并行 性能更好 流是什么? 它允许以声明方式处理数据集合 遍历数据集的高级迭代器 透明地并行处理 简短定义:从支持数据处理...

yysue
13分钟前
1
0
postman发送json格式的post请求

postman发送json格式的post请求 在地址栏里输入请求url:http://127.0.0.1:8081/getmoney 选择“POST”方式, 在“headers”添加key:Content-Type , value:application/json 点击"body",''ra...

两广总督bogang
20分钟前
0
0
Javascript将html转成pdf,下载(html2canvas 和 jsPDF)

最近碰到个需求,需要把当前页面生成pdf,并下载。弄了几天,自己整理整理,记录下来,我觉得应该会有人需要 :) 项目源码地址:https://github.com/linwalker/render-html-to-pdf html2ca...

孟飞阳
20分钟前
0
0
pureftp源码编译及设定

--- use for RHEL 567 and Ubuntu 1604 1. download pureftpd wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.47.tar.bz2 2. install gcc #apt-get install -y li......

zzimac
22分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部