免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Delphi 2010 新增功能之: 手勢編程[1]

Delphi 2010 最搶眼的新功能可能就是支持"觸摸屏"了, 它包括一個 可觸控的軟鍵盤 和識別不同的觸屏手勢.

因?yàn)槭謩萃瑫r(shí)支持鼠標(biāo), 所以沒有觸摸屏的我也可以嘗試一下其大多數(shù)的功能.

首次嘗試的步驟:

1、加 TGestureManager 控件如窗體: GestureManager1;

2、設(shè)置窗體屬性 Touch.GestureManager := GestureManager1; {下面程序是在設(shè)計(jì)時(shí)指定的屬性}

3、添加窗體的 OnGesture 事件, 隨便寫點(diǎn)什么;

4、然后運(yùn)行程序, 用鼠標(biāo)隨便在窗體上 "劃" 幾下... 第一個測試程序完成了!

測試代碼:

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, GestureMgr;type  TForm1 = class(TForm)    GestureManager1: TGestureManager;    procedure FormCreate(Sender: TObject);    procedure FormGesture(Sender: TObject; const EventInfo: TGestureEventInfo;      var Handled: Boolean);  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin  Self.Touch.GestureManager := GestureManager1; {可在設(shè)計(jì)時(shí)指定}end;procedure TForm1.FormGesture(Sender: TObject;  const EventInfo: TGestureEventInfo; var Handled: Boolean);begin  ShowMessage(Sender.ClassName + '_Gesture');end;end.

現(xiàn)在程序可以 "感知手勢" 了, 怎么 "識別手勢" 呢?

Delphi 把可以識別的手勢分成了 3 類: 標(biāo)準(zhǔn)手勢、自定義手勢、交互手勢(InteractiveGestures).

其中的交互手勢用鼠標(biāo)不好模擬, 可能只能用于觸摸屏;

Delphi 預(yù)定義了 34 種標(biāo)準(zhǔn)手勢, 并定義成 TStandardGesture 枚舉類型:
TStandardGesture = (  sgLeft            = sgiLeft,  sgRight           = sgiRight,  sgUp              = sgiUp,  sgDown            = sgiDown,  sgUpLeft          = sgiUpLeft,  sgUpRight         = sgiUpRight,  sgDownLeft        = sgiDownLeft,  sgDownRight       = sgiDownRight,  sgLeftUp          = sgiLeftUp,  sgLeftDown        = sgiLeftDown,  sgRightUp         = sgiRightUp,  sgRightDown       = sgiRightDown,  sgUpDown          = sgiUpDown,  sgDownUp          = sgiDownUp,  sgLeftRight       = sgiLeftRight,  sgRightLeft       = sgiRightLeft,  sgUpLeftLong      = sgiUpLeftLong,  sgUpRightLong     = sgiUpRightLong,  sgDownLeftLong    = sgiDownLeftLong,  sgDownRightLong   = sgiDownRightLong,  sgScratchout      = sgiScratchout,  sgTriangle        = sgiTriangle,  sgSquare          = sgiSquare,  sgCheck           = sgiCheck,  sgCurlicue        = sgiCurlicue,  sgDoubleCurlicue  = sgiDoubleCurlicue,  sgCircle          = sgiCircle,  sgDoubleCircle    = sgiDoubleCircle,  sgSemiCircleLeft  = sgiSemiCircleLeft,  sgSemiCircleRight = sgiSemiCircleRight,  sgChevronUp       = sgiChevronUp,  sgChevronDown     = sgiChevronDown,  sgChevronLeft     = sgiChevronLeft,  sgChevronRight    = sgiChevronRight);

注意: 每個枚舉項(xiàng)都對應(yīng)了一個常數(shù)值(譬如: 枚舉項(xiàng) sgLeft 對應(yīng) sgiLeft, sgiLeft 是之前定義好的常數(shù));

應(yīng)記下常數(shù)的命名規(guī)律, 后面會經(jīng)常用到它們, 以區(qū)別觸發(fā)的是哪個手勢, 譬如:

if EventInfo.GestureID = sgiLeft then ...

下面是從 docwiki.embarcadero.com/RADStudio/en/TStandardGesture_Enum 拷過來的標(biāo)準(zhǔn)手勢的圖示:

Enum Symbol
sgLeft
sgRight
sgUp
sgDown
sgUpLeft
sgUpRight
sgDownLeft
sgDownRight
sgLeftUp
sgLeftDown
sgRightUp
sgRightDown
sgUpDown
sgDownUp
sgLeftRight
sgRightLeft
sgUpLeftLong
sgUpRightLong
sgDownLeftLong
sgDownRightLong
sgScratchout
sgTriangle
sgSquare
sgCheck
sgCurlicue
sgDoubleCurlicue
sgCircle
sgDoubleCircle
sgSemiCircleLeft
sgSemiCircleRight
sgChevronUp
sgChevronDown
sgChevronLeft
sgChevronRight

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Delphi的圖形處理(一)
delphi多線程編程
DelPhi2007 中 使用Indy 的TCP連接教程
DELPHI使用TabControl將窗口標(biāo)簽化
Delphi中在ComboBox中添加數(shù)據(jù)庫中字段
如何用Delphi在TWebBrowser中調(diào)用JavaScript
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服