在ONKEYDOWN中做判断,如果是`键,则忽略它的输入(key = 0);然后再处理你定义的事件

解决方案 »

  1.   

    我是这样做的,但没有用。
    我判断:
    if key=192 
    then key:=0
      

  2.   

    应该在OnKeyPress中写屏蔽的代码,OnKeyDown时已经晚了.
      

  3.   

    不要用 if then 
    改用 case
    例如
    var I :Char;
    begin
      I := Key;
      case I of
        192: key=0 ;
        else 这里放你的代码;
      end;
    end;
      

  4.   

    那有什么区别?
    我在ONKEYPRESS中也放了,但ONKEYDOWN先触发。我在ONKEYDOWN中定义了此键为弹出一个对话框。当对话框弹出时,`已打上去了。
      

  5.   

    用Case是不一样的 If Then 有个次序问题
    存在你先判断了Key=192 然后转到其他语句值已经发生了变化
    会再次判断
    但是 Case不会阿
      

  6.   

    拦截DBGRID的WM_KEYDOWN消息就可以了
      

  7.   

    同意xunji(寻迹) 
    其实KEYPRESS事件更早,不过你在那里改了KEY值没用。呵呵