学无止境

你有没有觉得这个控件在输入日期时不太方便? 输完年后还要按一下右键头才能定位到月,然后再按一下右键头定位到日,输完按回车或者TAB还不能转到下一输入控件,今天我就来解决这个问题:输入时让光标自动移动,比如四位年份输完了光标立即跳到MM上;输完按回车直接去到下一控件;如果是从另一个控件转入此控件,直接定位到月进行输入,因为通常年都不需要修改。以下是实现代码:

procedure TFrm_AjJg_Input.DateTimePicker_CHECKDATEChange(Sender: TObject);

begin

    keybd_event(vk_right,0,     KEYEVENTF_EXTENDEDKEY,     0);     //值改变时模拟一次右键头实现日期连续输入

end;

 

procedure TFrm_AjJg_Input.DateTimePicker_CHECKDATEKeyPress(Sender: TObject;

  var Key: Char);

begin

    if (key = #13) then

    begin

        Key   :=   #0;

        Edit_LIUTOU_TOTAL.SetFocus();

        //Keybd_Event(VK_TAB,   MapvirtualKey(VK_TAB,   0),   0,   0);

    end;

end;

 

procedure TFrm_AjJg_Input.ComboBox_SJCHECKUSERKeyPress(Sender: TObject;

  var Key: Char);

begin

    if (key = #13) then

    begin

        Key   :=   #0;

        Keybd_Event(VK_TAB,   MapvirtualKey(VK_TAB,   0),   0,   0);

        keybd_event(vk_right,0,     KEYEVENTF_EXTENDEDKEY,     0);  //直接将日期输入定位到月

    end;

end;

posted on 2011-09-07 15:47  DHT  阅读(573)  评论(0编辑  收藏  举报