如,在DateTimePicker输入2006-06-19时,输入2006后,光标自动跳到月份,输入06后,光标自动跳到日。请指教!

解决方案 »

  1.   

    ExpressQuantumGrid Suite v5.x附带的DateEdit就有这种功能,为什么一定要用DateTimePicker呢?
      

  2.   

    如果是这样,没有必要用DateTimePicker,用DateTimePicker,就让客户用默认的操作就够了。如果一定要这样做,
    可以在DateTimePicker的onchange中检测日期的变化,当这种变化达到你的需求时,发送消息,模拟VK_RIGHT按下。
    SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,VK_RIGHT,0);
      

  3.   

    具体问题具体分析,实现这个根本没必要用datetimepicker控件吧,个人认为这本身就是一个很讨厌的控件。
      

  4.   

    比如要输入2006-03-20,在输年份2006,输好6时,也就是输好第四位(怎么检测刚输好第四位?),自动跳到月份上,输03,输好3时,也就是输好第二位(怎么检测刚输好第二位),自动跳到日上。请继续指教!
    --------------------------------------
    首先,从时间中分离出年、月、日
    var
    y,m,d :word;
    begin
    DecodeDate(datetimepicker.date,y,m,d);
    end;
    然后根据
    length(inttostr(y))来判断用户输入的Y是几位最后补充一点:
    按照你现在的需求,完全没有必要用datetimepicker组件了。
      

  5.   

    EHLIB控件包中有一个类似的控件,它可以直接输年月日