在datetimepicker中如何用回车实现跳转?

时间:2022-10-17 19:43:19
在用了datetimepicker控件后输入时间的时候,总是需要先输入年,再输入月,再输入日,现在有这样的问题,输入完年后,我需要直接回车就跳到月份输入,再回车挑到日子输入,再回车跳到下一个控件如Edit中,两个控件之间到好解决,可是datetimepicker中不知该怎么办,有什么办法可以解决这样的问题呢?

5 个解决方案

#1


void __fastcall TForm1::datetimepicker1KeyPress(TObject *Sender,
      char &Key)
{
     if (Key ==Char(13))                                          
     datetimepicker2->SetFocus();
}

行吗?

#2


先表示感谢,但不行啊。
这是两个datetimepicker控件之间的移动,我需要的是在同一个datetimepicker中,年月日之间用回车键移动,而不是用左右箭头来移动年月日的输入位置。

#3


gz,有空研究一下

#4


在DataTimePicker的OnKeyDown中判断:
if(Key==VK_RETURN)
   Key=VK_RIGHT;
看看行不行。

#5


chpst(斗转星移) ,frankizhong(小刀)的方法都只解决了一半,
chpst(斗转星移) 是按回车后在两个控件间移动,而frankizhong(小刀)是在DataTimePicker内部移动。我的最终目的是先在DataTimePicker内部移动,当光标移动到日时,转到下一控件,我现在不知怎么判断光标在DataTimePicker的位置,按不同位置实行不同的跳转,

如何判断光标在DataTimePicker上所在的焦点(是在年上,还是在月或日上啊)??

#1


void __fastcall TForm1::datetimepicker1KeyPress(TObject *Sender,
      char &Key)
{
     if (Key ==Char(13))                                          
     datetimepicker2->SetFocus();
}

行吗?

#2


先表示感谢,但不行啊。
这是两个datetimepicker控件之间的移动,我需要的是在同一个datetimepicker中,年月日之间用回车键移动,而不是用左右箭头来移动年月日的输入位置。

#3


gz,有空研究一下

#4


在DataTimePicker的OnKeyDown中判断:
if(Key==VK_RETURN)
   Key=VK_RIGHT;
看看行不行。

#5


chpst(斗转星移) ,frankizhong(小刀)的方法都只解决了一半,
chpst(斗转星移) 是按回车后在两个控件间移动,而frankizhong(小刀)是在DataTimePicker内部移动。我的最终目的是先在DataTimePicker内部移动,当光标移动到日时,转到下一控件,我现在不知怎么判断光标在DataTimePicker的位置,按不同位置实行不同的跳转,

如何判断光标在DataTimePicker上所在的焦点(是在年上,还是在月或日上啊)??