Delphi中按键定义

const
{ Virtual Keys, Standard Set }
vkLButton = $01; { 1 }
vkRButton = $02; { 2 }
vkCancel = $03; { 3 }
vkMButton = $04; { 4 }
vkXButton1 = $05; { 5 }
vkXButton2 = $06; { 6 }
vkBack = $08; { 8 }
vkTab = $09; { 9 }
vkLineFeed = $0A; { 10 }
vkClear = $0C; { 12 }
vkReturn = $0D; { 13 }
vkShift = $10; { 16 }
vkControl = $11; { 17 }
vkMenu = $12; { 18 }
vkPause = $13; { 19 }
vkCapital = $14; { 20 }
vkKana = $15; { 21 }
vkHangul = $15; { 21 }
vkJunja = $17; { 23 }
vkFinal = $18; { 24 }
vkHanja = $19; { 25 }
vkKanji = $19; { 25 }
vkConvert = $1C; { 28 }
vkNonConvert = $1D; { 29 }
vkAccept = $1E; { 30 }
vkModeChange = $1F; { 31 }
vkEscape = $1B; { 27 }
vkSpace = $20; { 32 }
vkPrior = $21; { 33 }
vkNext = $22; { 34 }
vkEnd = $23; { 35 }
vkHome = $24; { 36 }
vkLeft = $25; { 37 }
vkUp = $26; { 38 }
vkRight = $27; { 39 }
vkDown = $28; { 40 }
vkSelect = $29; { 41 }
vkPrint = $2A; { 42 }
vkExecute = $2B; { 43 }
vkSnapshot = $2C; { 44 }
vkInsert = $2D; { 45 }
vkDelete = $2E; { 46 }
vkHelp = $2F; { 47 }
{ vk0 thru vk9 are the same as ASCII ‘0‘ thru ‘9‘ ($30 - $39) }
vk0 = $30; { 48 }
vk1 = $31; { 49 }
vk2 = $32; { 50 }
vk3 = $33; { 51 }
vk4 = $34; { 52 }
vk5 = $35; { 53 }
vk6 = $36; { 54 }
vk7 = $37; { 55 }
vk8 = $38; { 56 }
vk9 = $39; { 57 }
{ vkA thru vkZ are the same as ASCII ‘A‘ thru ‘Z‘ ($41 - $5A) }
vkA = $41; { 65 }
vkB = $42; { 66 }
vkC = $43; { 67 }
vkD = $44; { 68 }
vkE = $45; { 69 }
vkF = $46; { 70 }
vkG = $47; { 71 }
vkH = $48; { 72 }
vkI = $49; { 73 }
vkJ = $4A; { 74 }
vkK = $4B; { 75 }
vkL = $4C; { 76 }
vkM = $4D; { 77 }
vkN = $4E; { 78 }
vkO = $4F; { 79 }
vkP = $50; { 80 }
vkQ = $51; { 81 }
vkR = $52; { 82 }
vkS = $53; { 83 }
vkT = $54; { 84 }
vkU = $55; { 85 }
vkV = $56; { 86 }
vkW = $57; { 87 }
vkX = $58; { 88 }
vkY = $59; { 89 }
vkZ = $5A; { 90 }
vkLWin = $5B; { 91 }
vkRWin = $5C; { 92 }
vkApps = $5D; { 93 }
vkSleep = $5F; { 95 }
vkNumpad0 = $60; { 96 }
vkNumpad1 = $61; { 97 }
vkNumpad2 = $62; { 98 }
vkNumpad3 = $63; { 99 }
vkNumpad4 = $64; { 100 }
vkNumpad5 = $65; { 101 }
vkNumpad6 = $66; { 102 }
vkNumpad7 = $67; { 103 }
vkNumpad8 = $68; { 104 }
vkNumpad9 = $69; { 105 }
vkMultiply = $6A; { 106 }
vkAdd = $6B; { 107 }
vkSeparator = $6C; { 108 }
vkSubtract = $6D; { 109 }
vkDecimal = $6E; { 110 }
vkDivide = $6F; { 111 }
vkF1 = $70; { 112 }
vkF2 = $71; { 113 }
vkF3 = $72; { 114 }
vkF4 = $73; { 115 }
vkF5 = $74; { 116 }
vkF6 = $75; { 117 }
vkF7 = $76; { 118 }
vkF8 = $77; { 119 }
vkF9 = $78; { 120 }
vkF10 = $79; { 121 }
vkF11 = $7A; { 122 }
vkF12 = $7B; { 123 }
vkF13 = $7C; { 124 }
vkF14 = $7D; { 125 }
vkF15 = $7E; { 126 }
vkF16 = $7F; { 127 }
vkF17 = $80; { 128 }
vkF18 = $81; { 129 }
vkF19 = $82; { 130 }
vkF20 = $83; { 131 }
vkF21 = $84; { 132 }
vkF22 = $85; { 133 }
vkF23 = $86; { 134 }
vkF24 = $87; { 135 }

vkCamera = $88; { 136 }
vkHardwareBack = $89; { 137 }

vkNumLock = $90; { 144 }
vkScroll = $91; { 145 }
vkLShift = $A0; { 160 }
vkRShift = $A1; { 161 }
vkLControl = $A2; { 162 }
vkRControl = $A3; { 163 }
vkLMenu = $A4; { 164 }
vkRMenu = $A5; { 165 }

vkBrowserBack = $A6; { 166 }
vkBrowserForward = $A7; { 167 }
vkBrowserRefresh = $A8; { 168 }
vkBrowserStop = $A9; { 169 }
vkBrowserSearch = $AA; { 170 }
vkBrowserFavorites = $AB; { 171 }
vkBrowserHome = $AC; { 172 }
vkVolumeMute = $AD; { 173 }
vkVolumeDown = $AE; { 174 }
vkVolumeUp = $AF; { 175 }
vkMediaNextTrack = $B0; { 176 }
vkMediaPrevTrack = $B1; { 177 }
vkMediaStop = $B2; { 178 }
vkMediaPlayPause = $B3; { 179 }
vkLaunchMail = $B4; { 180 }
vkLaunchMediaSelect= $B5; { 181 }
vkLaunchApp1 = $B6; { 182 }
vkLaunchApp2 = $B7; { 183 }

vkSemicolon = $BA; { 186 }
vkEqual = $BB; { 187 }
vkComma = $BC; { 188 }
vkMinus = $BD; { 189 }
vkPeriod = $BE; { 190 }
vkSlash = $BF; { 191 }
vkTilde = $C0; { 192 }
vkLeftBracket = $DB; { 219 }
vkBackslash = $DC; { 220 }
vkRightBracket = $DD; { 221 }
vkQuote = $DE; { 222 }
vkPara = $DF; { 223 }

vkOem102 = $E2; { 226 }
vkIcoHelp = $E3; { 227 }
vkIco00 = $E4; { 228 }
vkProcessKey = $E5; { 229 }
vkIcoClear = $E6; { 230 }
vkPacket = $E7; { 231 }
vkAttn = $F6; { 246 }
vkCrsel = $F7; { 247 }
vkExsel = $F8; { 248 }
vkErEof = $F9; { 249 }
vkPlay = $FA; { 250 }
vkZoom = $FB; { 251 }
vkNoname = $FC; { 252 }
vkPA1 = $FD; { 253 }
vkOemClear = $FE; { 254 }
vkNone = $FF; { 255 }

时间: 2024-07-28 19:27:26

Delphi中按键定义的相关文章

Delphi中函数定义和声明的位置

当函数(或过程)A定义在函数(或过程)B之前,那么函数B就可以调用函数A,并且编译成功,例如下面的 procedure TForm1.btn1Click(Sender: TObject); 和   function showstr: string; unit Test; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type

Delphi中的消息处理

1.windows的消息驱动体系  在windows系统中,消息传递是实现对乡间通信和控制的主要手段.可以额系统都以消息驱动的方式工作.系统中发生的用户输入操作.显示信息的改变.系统环境参数变化等所有时间都以系统定义消息的形式出现在相关的应用程序和窗口.所以程序设计的主要任务就是为这些消息的处理设计代码. 在应用程序中,发送者可以通过发送消息要求接收者完成相应的处理.当程序运行时,windows系统为每个应用程序实例建立一个消息队列,一次保存发送给该程序实例的消息,在应用程序的主控部分,需要设置

Delphi 中自定义异常及异常处理的一般方法

delphi中异常定义如下: TCustomException   =   class(Exception)     private     public         constructor   Create(const   Msg:   string );     end; 在一般的编程中,因为涉及到函数的嵌套调用,如果在一个函数中发生异常,且此函数中有try except语句,如果想让上级函数捕捉到异常,则在except end中调用 raise语句即可. 一般编程语言的通用处理异常的结

Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool。后面三种布尔类型是为了与其他语言兼容而引入的

bool是LongBool类型. Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool.后面三种布尔类型是为了与其他语言兼容而引入的,一般情况下建议使用Boolean类型. 这四种类型的布尔值占用内存的数量如下: Boolean 1 Byte ByteBool 1 Byte WordBool 2 Bytes(1 Word) LongBool 4 Bytes(2 Words) 对于ByteBool,WordBool和LongBool三种类型True

Delphi 中字符串资源的定义与使用

字符串的存储在应用程序中是独立的,应用程序只有在使用资源时载入,使用完之后清除,从而节省内存,同时字符串也可以用于翻译,一些汉化软件都利用了字符串.编辑的字符串放在一个文本文件中,可以使用Delphi中的:File-〉New-〉Text,编辑字符串文件,字符串文件的格式如下: stringtable begin 1,“book“ 2,“apple“ 3,“desk“ 4,“pen“ 5,“computer“ end 编辑完字符串文件后,选择Save as,注意要将文件类型改为资源编译文件(.RC

delphi中的Format函数详解

首先看它的声明:[[email protected]][@21ki!] function Format(const Format: string; const Args: array of const): string; overload;[[email protected]][@21ki!] 事实上Format方法有两种形式,另外一种是三个参数的,主要区别在于它是线程安全的,[[email protected]][@21ki!]但并不多用,所以这里只对第一个介绍:[[email protect

Delphi中多线程用消息实现VCL数据同步显示

Delphi中多线程用消息实现VCL数据同步显示 Lanno Ckeeke 2006-5-12 概述: delphi中严格区分主线程和子主线程,主线程负责GUI的更新,子线程负责数据运算,当数据运行完毕后,子线程可以向主线程式发送消息,以便通知其将VCL中的数据更新. 实现: 关键在于消息的发送及接收.在消息结构Tmessage中wParam和lParam类型为Longint,而指针类型也定义为Longint,可以通过此指针来传递自己所感兴趣的数据.如传递字符数组: 数组定义: const MA

Delphi 中的 procedure of object

其实要了解这些东西,适当的学些反汇编,WINDOWS内存管理机制,PE结构,看下李维的VCL架构剖析可以很好理解type TMyEvent = procedure of object;这是一种数据类型的定义,他定义了一个可以在类中使用的函数类型区别于type TMyProc = procedure; TMyEvent 和 TMyProc 都定义了一个函数类型,他们的差别是,TMyProc 不可以用在类中定义事件,TMyEvent 却可以. 如果你想知道问什么,那就需要深入了解事件类型以及函数类型

Delphi中根据分类数据生成树形结构的最优方法

一. 引言:    TreeView控件适合于表示具有多层次关系的数据.它以简洁的界面,表现形式清晰.形象,操作简单而深受用户喜爱.而且用它可以实现ListView.ListBox所无法实现的很多功能,因而受到广大程序员的青睐.    树形结构在Windows环境中被普遍应用,但在数据库开发中面对层次多.结构复杂的数据,如何快速构造树形目录并实现导航呢?    二. 实现关键技术:    在Delphi提供的控件中包含了TreeView控件,但树的具体形成还需要用户编写代码.即它的列表项要在程序