小弟在delphi中新建一个MaskEdit1控件
小弟想在这个控件里面输完后,也就是按下回车键后对MaskEdit1的值进行判断。用什么方法????????????????????

解决方案 »

  1.   

    KeyPress()中,
      if (Key = #13) then
      ...判断
      

  2.   

    onkeyup中写
      if key=13 then
      

  3.   

    procedure TFRcvTailorFrm.RxDBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
    if (key=13) or (key=VK_RIGHT) then begin
       Key:=0;
      with RxDbGrid1 do begin
        if Selectedindex<(FieldCount-1) then
          selectedindex:=Selectedindex+1{ 移动到下一字段}
        else Selectedindex:=0;   
      end;
     end;
      

  4.   

    在MaskEdit1OnChange(sender:TObject)中进行判断
    if key = #13 then
      MaskEdit1.text := ...
     .
     .
     .
      

  5.   

    回车键的ascii码是#13,判断这个就可以了。
      

  6.   

    此外你还可以用virtual key,具体的可以查看帮助我记得回车的virtual key是
    vk_enter大致的应该是这样的:
    ks:TKeyboardState;
    ks := GetKeyboardState(ks);
    if odd(ks[vk_enter]) then begin.................end;大致应该这样,因为我都记不住,做的时候都要看帮助人笨啊。
      

  7.   

    procedure TFRM_SYGL_MAIN.Timer_StateTimer(Sender: TObject);
    var
    ks: tKeyBoardState;
    begin
       GetKeyBoardState(ks);    //检测键盘函数   if odd(ks[VK_NUMLOCK]) then
        StatusBar_STATE.Panels.Items[0].Text := 'NUM'    //NUM
       else
       StatusBar_STATE.Panels.Items[0].Text := '';
       if odd(ks[VK_INSERT]) then
       StatusBar_STATE.Panels.Items[1].Text := 'INSERT' //INSERT
       else
       StatusBar_STATE.Panels.Items[1].Text := '';
       if odd(ks[VK_CAPITAL]) then
       StatusBar_STATE.Panels.Items[2].Text := 'CAPITAL'  //CAPITAL
       else
       StatusBar_STATE.Panels.Items[2].Text := '';
       if odd(ks[VK_SCROLL]) then
       StatusBar_STATE.Panels.Items[3].Text := 'SCROLL'   //SCROLL
       else
       StatusBar_STATE.Panels.Items[3].Text := '';
       if odd(ks[VK_ENTER] then
             statusbar_State.panels.items[4].text := 'ENTER' //enter
       else  
             statusbar_State.panels.items[4].text := '';
    end;