Keydown事件有一个参数是表示按键状态的(好象是state),至于“_、-、+、=、[、]、'、"、?、/”等,最好在keypress中写,好象有参数可以转换成字符

解决方案 »

  1.   

    那些符号看ASCII表就知道了。
      

  2.   

    不是ASCII表的问题,是如何在KeyDown中处理。KeyPress中处理可见字符是简单,但是如何在Keydown中处理达到同样的效果呢?因为我把当前程序接收到的按键全部自己处理,没有办法,这是基本要求。    有没有人解决过类似的问题??把谋一功能放到Keydown和KeyPress中结合处理,他们间的相互影响就乱了套了。
        我只要求在KeyDown中能够分析出来和KeyPress功能相同的字符按键即可。Help Me!!!各位大峡救我!!
      

  3.   

    KeyDown事件中有一个参数是Shift: TShiftState
    其中TShiftState = set of (ssShift, ssAlt, ssCtrl,ssLeft, ssRight, ssMiddle, ssDouble);
    If Shift = ssShift Then //表示按下Shift键至于键值问题,请看下面的代码:(有四个Edit控件)得到每个键的键值
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      Edit2.Text := IntToStr(Byte(Key));
    end;procedure TForm1.EdtiKeyPress(Sender: TObject; var Key: Char);
    begin
      EdtO.Text := IntToStr(Ord(Key));
    end;