Shift 是一个集合变量。
type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);
也就是说TShiftstate类型有ssShift, ssAlt, ssCtrl, ssLeft(鼠标左键), ssRight(鼠标右键), ssMiddle(鼠标中键), ssDouble (鼠标双击)
Value Meaning
ssShift              The Shift key is held down.
ssAlt                  The Alt key is held down.
ssCtrl                The Ctrl key is held down.
ssLeft                The left mouse button is held down.
ssRight            The right mouse button is held down.
ssMiddle            The middle mouse button is held down.
ssDouble          The mouse was double-clicked.
用来判断组合键中是否用shift、Ctrl、鼠标左键、右键、中键、双击事件。 Delphi中一些常用的组合键值
CTRL+A:#1 CTRL+B:#2 CTRL+C:#3 CTRL+D:#4 CTRL+E:#5 CTRL+F:#6 CTRL+G:#7
CTRL+H:#8 CTRL+I:#9 CTRL+J:#10 CTRL+K:#11 CTRL+L:#12 CR:#13 CTRL+N:#14
CTRL+O:#15 CTRL+P:#16 CTRL+Q:#17 CTRL+R:#18 CTRL+S:#19 CTRL+T:#20
CTRL+U:#21 CTRL+V:#22 CTRL+W:#23 CTRL+X:#24 CTRL+Y:#25 CTRL+Z:#26 ESC:#27
CTRL+:#28 CTRL+]:#29 SHIFT+CTRL+-:#30 DEL:#127 一般用在keydown、keyup、keypress事件中。
OnKeyDown和OnKeyUp事件中的Key是Word型的,表示用户按的是键盘上的哪个键,OnKeyPress中的Key是Char型,表示用户输入什么字符。一个产生位(char)常规健值,一个产生位(word)功能健健值。 1.KeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等除了F1-、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符,KeyDown和KeyUp 通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键)
2.KeyPress 只能捕获单个字符
KeyDown 和KeyUp 可以捕获组合键。
3.KeyPress 可以捕获单个字符的大小写
4.KeyDown和KeyUp 对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写。
5.KeyPress 不区分小键盘和主键盘的数字字符。
KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。
.其中PrScrn 按键KeyPress、KeyDown和KeyUp 都不能捕获。 keydown是键盘按下任何键
keypress是键盘按下任何数字键和任何字母键 keydown 与keypress的声明格式差别很大
onkeydown事件
type TKeyEvent  =  procedure  (Sender:  TObject;  var  Key:  Word;  Shift:  TShiftState)  of  object;
property  OnKeyDown:  TKeyEvent;
该事件在有任何键按下的时候,就发生。看!它响应的是Word类型,还能识别Shift键状态
onkeypress事件
type  TKeyPressEvent  =  procedure  (Sender:  TObject;  var  Key:  Char)  of  object;
property  OnKeyPress:  TKeyPressEvent;
该事件响应的是字符类型Char,只能识别ASCII码,不能识别组合键和控制键和功能键。按下功能键、控制键不产生该事件,但产生OnkeyDown事件。 TWinControl与键盘相关的个事件如下:
OnKeyDown:键按下
OnKeyPress:有Ascii字符产生
OnKeyUp:键放开
其中OnKeyDown、OnKeyUp对任何按键都有响应,传入参数为
var  Key:  Word 键的扫描值
    Shift:  TShiftState 表示控制键状态,包括键盘上的Ctrl、Shift、Alt和鼠标的左、中、右键及双击。 OnKeyPress事件只对Ascii有响应,传入参数为
var  Key:  Char Ascii字符
//例如F1-F10只有onKeydown有反应
另外TWincontrol.  KeyPreview:Boolean属性确定控件是否在子控件之前处理按键。 比如说enter键,
onkeypress事件
if  key=#13  then    //当你按下enter键时触发该事件
do  something onkeydown事件
if  key=  then    //当你按下enter键时触发该事件
do  something 其中所有的KeyDown事件里面应该用如下判断:
if Key = VK_RETURN then
...
所有的KeyPress事件里面应该用如下判断:
if Key = #13 then
... postmessage(self.handle,wm_keydown,vk_tab,);
keybd_event(VK_TAB,,,);
perform(WM_NEXTDLGCTL,,);
SelectNext(ActiveControl, True, True);
... 但是显然用回车代码TAB显然不适合于BUTTON,你在它上面按回车的时候它会执行OnClick,所以不会TAB,你可以用别的键代替回车。 》》》》》》》》》》 键值 在keydown事件里面
showmessage(inttostr(key));
在keypress事件里面
showmessage(key);
就知道了。 Form1.KeyPreview := True; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Showmessage(IntToStr(Key));
end; procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
Showmessage(IntToStr(Ord(Key)));
end; { Virtual Keys, Standard Set }
{$EXTERNALSYM VK_LBUTTON}
VK_LBUTTON = ;
{$EXTERNALSYM VK_RBUTTON}
VK_RBUTTON = ;
{$EXTERNALSYM VK_CANCEL}
VK_CANCEL = ;
{$EXTERNALSYM VK_MBUTTON}
VK_MBUTTON = ; { NOT contiguous with L & RBUTTON }
{$EXTERNALSYM VK_BACK}
VK_BACK = ;
{$EXTERNALSYM VK_TAB}
VK_TAB = ;
{$EXTERNALSYM VK_CLEAR}
VK_CLEAR = ;
{$EXTERNALSYM VK_RETURN}
VK_RETURN = ;
{$EXTERNALSYM VK_SHIFT}
VK_SHIFT = $10;
{$EXTERNALSYM VK_CONTROL}
VK_CONTROL = ;
{$EXTERNALSYM VK_MENU}
VK_MENU = ;
{$EXTERNALSYM VK_PAUSE}
VK_PAUSE = ;
{$EXTERNALSYM VK_CAPITAL}
VK_CAPITAL = ;
{$EXTERNALSYM VK_KANA }
VK_KANA = ;
{$EXTERNALSYM VK_HANGUL }
VK_HANGUL = ;
{$EXTERNALSYM VK_JUNJA }
VK_JUNJA = ;
{$EXTERNALSYM VK_FINAL }
VK_FINAL = ;
{$EXTERNALSYM VK_HANJA }
VK_HANJA = ;
{$EXTERNALSYM VK_KANJI }
VK_KANJI = ;
{$EXTERNALSYM VK_CONVERT }
VK_CONVERT = ;
{$EXTERNALSYM VK_NONCONVERT }
VK_NONCONVERT = ;
{$EXTERNALSYM VK_ACCEPT }
VK_ACCEPT = ;
{$EXTERNALSYM VK_MODECHANGE }
VK_MODECHANGE = ;
{$EXTERNALSYM VK_ESCAPE}
VK_ESCAPE = ;
{$EXTERNALSYM VK_SPACE}
VK_SPACE = $20;
{$EXTERNALSYM VK_PRIOR}
VK_PRIOR = ;
{$EXTERNALSYM VK_NEXT}
VK_NEXT = ;
{$EXTERNALSYM VK_END}
VK_END = ;
{$EXTERNALSYM VK_HOME}
VK_HOME = ;
{$EXTERNALSYM VK_LEFT}
VK_LEFT = ;
{$EXTERNALSYM VK_UP}
VK_UP = ;
{$EXTERNALSYM VK_RIGHT}
VK_RIGHT = ;
{$EXTERNALSYM VK_DOWN}
VK_DOWN = ;
{$EXTERNALSYM VK_SELECT}
VK_SELECT = ;
{$EXTERNALSYM VK_PRINT}
VK_PRINT = ;
{$EXTERNALSYM VK_EXECUTE}
VK_EXECUTE = ;
{$EXTERNALSYM VK_SNAPSHOT}
VK_SNAPSHOT = ;
{$EXTERNALSYM VK_INSERT}
VK_INSERT = ;
{$EXTERNALSYM VK_DELETE}
VK_DELETE = ;
{$EXTERNALSYM VK_HELP}
VK_HELP = ;
{ VK_0 thru VK_9 are the same as ASCII ’0’ thru ’9’ ($30 - $39) }
{ VK_A thru VK_Z are the same as ASCII ’A’ thru ’Z’ ($41 - $5A) }
{$EXTERNALSYM VK_LWIN}
VK_LWIN = ;
{$EXTERNALSYM VK_RWIN}
VK_RWIN = ;
{$EXTERNALSYM VK_APPS}
VK_APPS = ;
{$EXTERNALSYM VK_NUMPAD0}
VK_NUMPAD0 = ;
{$EXTERNALSYM VK_NUMPAD1}
VK_NUMPAD1 = ;
{$EXTERNALSYM VK_NUMPAD2}
VK_NUMPAD2 = ;
{$EXTERNALSYM VK_NUMPAD3}
VK_NUMPAD3 = ;
{$EXTERNALSYM VK_NUMPAD4}
VK_NUMPAD4 = ;
{$EXTERNALSYM VK_NUMPAD5}
VK_NUMPAD5 = ;
{$EXTERNALSYM VK_NUMPAD6}
VK_NUMPAD6 = ;
{$EXTERNALSYM VK_NUMPAD7}
VK_NUMPAD7 = ;
{$EXTERNALSYM VK_NUMPAD8}
VK_NUMPAD8 = ;
{$EXTERNALSYM VK_NUMPAD9}
VK_NUMPAD9 = ;
{$EXTERNALSYM VK_MULTIPLY}
VK_MULTIPLY = ;
{$EXTERNALSYM VK_ADD}
VK_ADD = ;
{$EXTERNALSYM VK_SEPARATOR}
VK_SEPARATOR = ;
{$EXTERNALSYM VK_SUBTRACT}
VK_SUBTRACT = ;
{$EXTERNALSYM VK_DECIMAL}
VK_DECIMAL = ;
{$EXTERNALSYM VK_DIVIDE}
VK_DIVIDE = ;
{$EXTERNALSYM VK_F1}
VK_F1 = ;
{$EXTERNALSYM VK_F2}
VK_F2 = ;
{$EXTERNALSYM VK_F3}
VK_F3 = ;
{$EXTERNALSYM VK_F4}
VK_F4 = ;
{$EXTERNALSYM VK_F5}
VK_F5 = ;
{$EXTERNALSYM VK_F6}
VK_F6 = ;
{$EXTERNALSYM VK_F7}
VK_F7 = ;
{$EXTERNALSYM VK_F8}
VK_F8 = ;
{$EXTERNALSYM VK_F9}
VK_F9 = ;
{$EXTERNALSYM VK_F10}
VK_F10 = ;
{$EXTERNALSYM VK_F11}
VK_F11 = ;
{$EXTERNALSYM VK_F12}
VK_F12 = ;
{$EXTERNALSYM VK_F13}
VK_F13 = ;
{$EXTERNALSYM VK_F14}
VK_F14 = ;
{$EXTERNALSYM VK_F15}
VK_F15 = ;
{$EXTERNALSYM VK_F16}
VK_F16 = ;
{$EXTERNALSYM VK_F17}
VK_F17 = ;
{$EXTERNALSYM VK_F18}
VK_F18 = ;
{$EXTERNALSYM VK_F19}
VK_F19 = ;
{$EXTERNALSYM VK_F20}
VK_F20 = ;
{$EXTERNALSYM VK_F21}
VK_F21 = ;
{$EXTERNALSYM VK_F22}
VK_F22 = ;
{$EXTERNALSYM VK_F23}
VK_F23 = ;
{$EXTERNALSYM VK_F24}
VK_F24 = ;
{$EXTERNALSYM VK_NUMLOCK}
VK_NUMLOCK = ;
{$EXTERNALSYM VK_SCROLL}
VK_SCROLL = ;
{ VK_L & VK_R - left and right Alt, Ctrl and Shift virtual keys.
Used only as parameters to GetAsyncKeyState() and GetKeyState().
No other API or message will distinguish left and right keys in this way. }
{$EXTERNALSYM VK_LSHIFT}
VK_LSHIFT = ;
{$EXTERNALSYM VK_RSHIFT}
VK_RSHIFT = ;
{$EXTERNALSYM VK_LCONTROL}
VK_LCONTROL = ;
{$EXTERNALSYM VK_RCONTROL}
VK_RCONTROL = ;
{$EXTERNALSYM VK_LMENU}
VK_LMENU = ;
{$EXTERNALSYM VK_RMENU}
VK_RMENU = ;
{$EXTERNALSYM VK_PROCESSKEY}
VK_PROCESSKEY = ;
{$EXTERNALSYM VK_ATTN}
VK_ATTN = ;
{$EXTERNALSYM VK_CRSEL}
VK_CRSEL = ;
{$EXTERNALSYM VK_EXSEL}
VK_EXSEL = ;
{$EXTERNALSYM VK_EREOF}
VK_EREOF = ;
{$EXTERNALSYM VK_PLAY}
VK_PLAY = ;
{$EXTERNALSYM VK_ZOOM}
VK_ZOOM = ;
{$EXTERNALSYM VK_NONAME}
VK_NONAME = ;
{$EXTERNALSYM VK_PA1}
VK_PA1 = ;
{$EXTERNALSYM VK_OEM_CLEAR}
VK_OEM_CLEAR = ; :),其实不用记,你不是用delphi吗,在ide里面输入vk_f1总会吧,然后按住ctrl键
单击刚才你输入的vk_f1,就会出来啦!
至于key:char的值,就是key:word的ascII码,你可以看chr(vk_f1),chr(vk_enter),都可以哈! 》》》》》》》》》》》》》》》》》》 delphi帮助里的虚拟键值表:
vk_right right arrow key
vk_down down arrow key
vk_select select key
vk_print print key (keyboard-specific)
vk_execute execute key
vk_snapshot print screen key
vk_insert insert key
vk_delete delete key
vk_help help key
vk_lwin left windows key (microsoft keyboard)
vk_rwin right windows key (microsoft keyboard)
vk_apps applications key (microsoft keyboard)
vk_numpad0 key (numeric keypad)
vk_numpad1 key (numeric keypad)
vk_numpad2 key (numeric keypad)
vk_numpad3 key (numeric keypad)
vk_numpad4 key (numeric keypad)
vk_numpad5 key (numeric keypad)
vk_numpad6 key (numeric keypad)
vk_numpad7 key (numeric keypad)
vk_numpad8 key (numeric keypad)
vk_numpad9 key (numeric keypad)
vk_multiply multiply key (numeric keypad)
vk_add add key (numeric keypad)
vk_separator separator key (numeric keypad)
vk_subtract subtract key (numeric keypad)
vk_decimal decimal key (numeric keypad)
vk_divide divide key (numeric keypad)
vk_f1 f1 key
vk_f2 f2 key
vk_f3 f3 key
vk_f4 f4 key
vk_f5 f5 key
vk_f6 f6 key
vk_f7 f7 key
vk_f8 f8 key
vk_f9 f9 key
vk_f10 f10 key
vk_f11 f11 key
vk_f12 f12 key
vk_f13 f13 key
vk_f14 f14 key
vk_f15 f15 key
vk_f16 f16 key
vk_f17 f17 key
vk_f18 f18 key
vk_f19 f19 key
vk_f20 f20 key
vk_f21 f21 key
vk_f22 f22 key
vk_f23 f23 key
vk_f24 f24 key
vk_numlock num lock key
vk_scroll scroll lock key
vk_lshift left shift key (only used with getasynckeystate and getkeystate)
vk_rshift right shift key (only used with getasynckeystate and getkeystate)
vk_lcontrol left ctrl key (only used with getasynckeystate and getkeystate)
vk_rcontrol right ctrl key (only used with getasynckeystate and getkeystate)
vk_lmenu left alt key (only used with getasynckeystate and getkeystate)
vk_rmenu right alt key (only used with getasynckeystate and getkeystate)
vk_processkey process key
vk_attn attn key
vk_crsel crsel key
vk_exsel exsel key
vk_ereof erase eof key
vk_play play key
vk_zoom zoom key
vk_noname reserved for future use
vk_pa1 pa1 key
vk_oem_clear clear key 模拟鼠标
鼠标移动(移动量dx,dy)
mouse_event(MOUSEEVENTF_MOVE,dx,dy,, );
鼠标在(x,y)处按下或释放
setcursorpos(x,y);
mouse_event(MOUSEEVENTF_LEFTDOWN, , , , );
mouse_event(MOUSEEVENTF_RIGHTDOWN, , , , );
mouse_event(MOUSEEVENTF_LEFTUP, , , , );
mouse_event(MOUSEEVENTF_RIGHTUP, , , , );
鼠标双击由两次按下与释放来模拟
键盘模拟
一般虚拟键值(VK_)由KeyDown或keyup事件得到
特殊键值
Tab--
Shift--
Ctrl--
Alt--
CapsLock--
Esc--
Win--,
NumLock--
ScrollLock--
按下键
keybd_event(key, MapVirtualKey(key, ), KEYEVENTF_KEYUP , );
释放键
keybd_event(key, MapVirtualKey(key, ), , );
以上做法对大多数键有效,少数键要用到不同的值 》》》》》》》》》》》》》》》》》》》》》》》》》 常数名称      十六进制值    十进制值    对应按键
VK_LBUTTON                            鼠标的左键
VK_RBUTTON                            鼠标的右键
VK-CANCEL                            Ctrl+Break(通常不需要处理)
VK_MBUTTON                            鼠标的中键(三按键鼠标)
VK_BACK                              Backspace键
VK_TAB                                Tab键
VK_CLEAR            0C                Clear键(Num Lock关闭时的数字键盘)
VK_RETURN          0D                Enter键
VK_SHIFT                            Shift键
VK_CONTROL                          Ctrl键
VK_MENU                            Alt键
VK_PAUSE                            Pause键
VK_CAPITAL                          Caps Lock键
VK_ESCAPE          1B                Ese键
VK_SPACE                            Spacebar键
VK_PRIOR                            Page Up键
VK_NEXT                            Page Domw键
VK_END                              End键
VK_HOME                            Home键
VK_LEFT                            LEFT ARROW 键(←)
VK_UP                              UP ARROW键(↑)
VK_RIGHT                            RIGHT ARROW键(→)
VK_DOWN                            DOWN ARROW键(↓)
VK_Select                          Select键
VK_PRINT            2A             
VK_EXECUTE          2B                EXECUTE键
VK_SNAPSHOT        2C                Print Screen键(抓屏)
VK_Insert          2D                Ins键(Num Lock关闭时的数字键盘)
VK_Delete          2E                Del键(Num Lock关闭时的数字键盘.)
VK_HELP            2F                Help键
VK_0                    键
VK_1                    键
VK_2                    键
VK_3                    键
VK_4                    键
VK_5                    键
VK_6                    键
VK_7                    键
VK_8                    键
VK_9                    键
VK_A                    A键
VK_B                    B键
VK_C                    C键
VK_D                    D键
VK_E                    E键
VK_F                    F键
VK_G                    G键
VK_H                    H键
VK_I                    I键
VK_J    4A                J键
VK_K    4B                K键
VK_L    4C                L键
VK_M    4D                M键
VK_N    4E                N键
VK_O    4F                O键
VK_P                    P键
VK_Q                    Q键
VK_R                    R键
VK_S                    S键
VK_T                    T键
VK_U                    U键
VK_V                    V键
VK_W                    W键
VK_X                    X键
VK_Y                    Y键
VK_Z    5A                Z键
VK_NUMPAD0                          数字键键
VK_NUMPAD1                          数字键键
VK_NUMPAD2                          数字键键
VK_NUMPAD3                          数字键键
VK_NUMPAD4                          数字键键
VK_NUMPAD5                          数字键键
VK_NUMPAD6                          数字键键
VK_NUMPAD7                          数字键键
VK_NUMPAD8                          数字键键
VK_NUMPAD9                          数字键键
VK_MULTIPLY        6A                数字键盘上的*键
VK_ADD              6B                数字键盘上的+键
VK_SEPARATOR        6C                Separator键
VK_SUBTRACT        6D                数字键盘上的-键
VK_DECIMAL          6E                数字键盘上的.键
VK_DIVIDE          6F                数字键盘上的/键
VK_F1                  F1键
VK_F2                  F2键
VK_F3                  F3键
VK_F4                  F4键
VK_F5                  F5键
VK_F6                  F6键
VK_F7                  F7键
VK_F8                  F8键
VK_F9                  F9键
VK_F10                  F10键
VK_F11  7A                F11键
VK_F12  7B                F12键
VK_NUMLOCK                    Num Lock 键
VK_SCROLL                      Scroll Lock键
 
上面没有提到的:(都在大键盘)     
VK_LWIN                  左win键
VK_RWIN                  右win键
VK_APPS                  右Ctrl左边键,点击相当于点击鼠标右键,会弹出快捷菜单
              ;(分号)
              =键
              ,键(逗号)
              -键(减号)
              .键(句号)
              /键
              `键(Esc下面)
              [键
              /键
              ]键
              '键(引号)
procedure  TForm1.Edit1KeyDown(Sender:  TObject;  var  Key:  Word;
      Shift:  TShiftState);
begin
      if  key=VK_DELETE  then
        key:=;
end;
Delphi6.,下通过Top
于在keydown中屏蔽掉除数字外的所有键
还应该允许Ctr+C/X/V,所以总结起来应该是:
    procedure  TForm1.Edit1KeyPress(Sender:  TObject;  var  Key:  Char);
begin
    if  not  (Key  in  ['0'..'9',  #3,  #22,  #24,  #8,  #13,  #45])  then  Key  :=  #0;
end;       
procedure  TForm1.Edit1KeyPress(Sender:  TObject;  var  Key:  Char);
begin
      if  (key>#57)  and  (key<#48)  then
          key:=#0;
end;       
我想你最好将你的例程写出来。
        如果是像CKEN阁下说的那样,你要将按键事件屏蔽的话,实际上应该是直接赋值:
        Key:=; 
        (注意不是Key:=#0,因为这里的Key是Word类型,在keypress事件中,key的值是Char型,就要用“#”)
        Good  luck
在KeyDown里面就可以实现
if  key=vk_numpad0  then  (如果为小键盘的键就干你想干的事情)
下面是小键盘的值
VK_NUMPAD0   key  (numeric  keypad)
VK_NUMPAD1   key  (numeric  keypad)
VK_NUMPAD2   key  (numeric  keypad)
VK_NUMPAD3   key  (numeric  keypad)
VK_NUMPAD4   key  (numeric  keypad)
VK_NUMPAD5   key  (numeric  keypad)
VK_NUMPAD6   key  (numeric  keypad)
VK_NUMPAD7   key  (numeric  keypad)
VK_NUMPAD8   key  (numeric  keypad)
VK_NUMPAD9   key  (numeric  keypad)
VK_MULTIPLY Multiply  key  (numeric  keypad)
VK_ADD Add  key  (numeric  keypad)
VK_SEPARATOR Separator  key (numeric  keypad)
VK_SUBTRACT Subtract  key  (numeric  keypad)
VK_DECIMAL Decimal  key  (numeric  keypad)  VK_DIVIDE Divide  key  (numeric  keypad) 》》》》》》》》》》》》》》》

Delphi : keydown与keypress的区别,组合键的更多相关文章

  1. [转]Delphi : keydown与keypress的区别,组合键

    Shift 是一个集合变量. type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDoubl ...

  2. js中keydown和keypress的区别

    keydown和keypress这些事件是当一个对象具有焦点时进行按下或松开一个键时发生的. keydown在按下的时候返回键盘上的代码值,然后由TranslateMessage函数翻译成字符,并且由 ...

  3. C# 如何捕获键盘按钮和组合键以及KeyPress/KeyDown事件之间的区别 (附KeyChar/KeyCode值)

    1. 首先将窗口属性KeyPreview设为true,如果属性对话框中找不到,就直接在代码里添加: 2. 添加KeyPress / KeyDown事件: 1.KeyPress 和KeyDown .Ke ...

  4. Delphi keydown与keyup、keypress的区别(KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn所有按键)

    Shift 是一个集合变量.type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble ...

  5. C# 中 KeyPress 、KeyDown 和KeyPress的详细区别[转]

    研究了一下KeyDown,KeyPress 和KeyUp ,发现之间还是有点学问的. 让我们带着如下问题来说明,如果你看到这些问题你都知道,那么这篇文章你就当复习吧:) 1.这三个事件的顺序是怎么样的 ...

  6. KeyUp 和KeyDown 、KeyPress之间的区别

    keydown:用户在键盘上按下某按键是发生.一直按着某按键则会不断触发(opera浏览器除外). keypress:用户按下一个按键,并产生一个字符时发生(也就是类似shift.alt.ctrl之类 ...

  7. C#(KeyChar和KeyCord值,KeyDown/KeyPress事件区别)

    1. 首先将窗口属性KeyPreview设为true,如果属性对话框中找不到,就直接在代码里添加:2. 添加KeyPress / KeyDown事件: KeyPress 和KeyDown .KeyPr ...

  8. C#控件中的KeyDown、KeyPress 与 KeyUp事件浅谈

    研究了一下KeyDown,KeyPress 和 KeyUp 的学问.让我们带着如下问题来说明: 1.这三个事件的顺序是怎么样的? 2.KeyDown 触发后,KeyUp是不是一定触发? 3.三个事件的 ...

  9. delphi2010:按键 控制键 组合键的判断 响应

    procedure TForm7.FormShortCut(var Msg: TWMKey; var Handled: Boolean); var   aKey: TShortCut;   aShif ...

随机推荐

  1. window.location.hash 页面跳转,精确定位,实例展示:

    window.location.hash 页面跳转,精确定位,实例展示: (1).index.phtml,页面用于传参 <script id="bb_list_template&quo ...

  2. Linux入门基础(五):Linux管道,重定向,文本处理

    多命令协作:管道及重定向 在Linux中,大多数命令都很简单,每个命令往往只实现一个或几个很简单功能. 我们可以通过将不同功能的命令组合起来一起使用,达到完成某个复杂功能的目的 CLI下几乎所有的命令 ...

  3. C#四则运算器(多态方法实现)

    在上一节C#课上,我们学习了用类的继承的方式来做一个四则运算器,然而老师的代码在课上演示的效果并不理想,而且没有使用多态的思想实现,今天我们就来用多态的方式实现四则运算器. 1. 题目及要求 2. A ...

  4. 脚本处理iOS的Crash日志

    背景 当我们打包app时,可以选择生成对应的符号表,其保存 16 进制函数地址映射信息,通过给定的函数起始地址和偏移量,可以对应函数具体信息以供分析. 所以我们拿到测试给的闪退日志(.crash)时, ...

  5. Azure web site和web job的config文件加密方式

    1.分析 由于Azure Web AppService平台的特殊性,所以在C#中原先的config加密方法DataProtectionConfigurationProvider和RSAProtecte ...

  6. sqli-labs学习笔记 DAY6

    DAY 6 sqli-labs lesson 30 与上一题一样,需要用到HPP 查看源代码,参数两边加上了双引号,直接使用lesson 26a与lesson 27a的脚本即可 sqli-labs l ...

  7. java 实现验证码功能

    所需文件以及技术: · SecurityUtil.java   (后面我会复制给大家) · 图像处理技术 · 向客户端输出io流 一,实现的原理,当视图页面加载的时候通过<img >元素的 ...

  8. SQL IF while 游标

    -- if语句使用示例 declare @a int set @a=1 begin print @a =@a+1 end else begin print 'noooo' end -- while语句 ...

  9. 关于MySql8.X设置允许root远程登陆的问题

    这是最近在mac上使用mysql workbench上遇到的一个小问题,仔细想了想其实这个问题本身就有毛病,论起正式环境来哪家公司是直接使用root去远程登录的呢?恐怕没几个,so不纠结root了创建 ...

  10. 从汉诺塔游戏理解python递归函数

    汉诺塔游戏规则: 有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,现在把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方 图 ...