请教一下datetimepicker如果在获得焦点的时候自动定位到日期上。 现在datetimepicker在获得焦点的时候自动定位到年份上,那么如何才能让datetimepicker在获得焦点的时候自动定位到日期呢?这样方面数字输入。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.Button1Click(Sender: TObject);begin DateTimePicker1.SetFocus;end; 定位到日上 DateTimePicker1.SetFocus; SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,39,0) 定位到日的是 DateTimePicker1.SetFocus; SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,39,0); SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,39,0)原理就是先把焦点移动到DateTimePicker1,然后发送消息WM_KEYDOWN DateTimePicker1.SetFocus; SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,VK_RIGHT,0); SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,VK_RIGHT,0)39是VK_RIGHT的虚拟键值。。通用的,就用上面这个,程序容易理解,就是把焦点移动到dataetimepicker上后,模拟光标vk_right被按下。 Delphi帮助里的虚拟键值表:VK_RIGHT Right Arrow keyVK_DOWN Down Arrow keyVK_SELECT Select keyVK_PRINT Print key (keyboard-specific)VK_EXECUTE Execute keyVK_SNAPSHOT Print Screen keyVK_INSERT Insert keyVK_DELETE Delete keyVK_HELP Help keyVK_LWIN Left Windows key (Microsoft keyboard)VK_RWIN Right Windows key (Microsoft keyboard)VK_APPS Applications key (Microsoft keyboard)VK_NUMPAD0 0 key (numeric keypad)VK_NUMPAD1 1 key (numeric keypad)VK_NUMPAD2 2 key (numeric keypad)VK_NUMPAD3 3 key (numeric keypad)VK_NUMPAD4 4 key (numeric keypad)VK_NUMPAD5 5 key (numeric keypad)VK_NUMPAD6 6 key (numeric keypad)VK_NUMPAD7 7 key (numeric keypad)VK_NUMPAD8 8 key (numeric keypad)VK_NUMPAD9 9 key (numeric keypad)VK_MULTIPLY Multiply key (numeric keypad)VK_ADD Add key (numeric keypad)VK_SEPARATOR Separator key (numeric keypad)VK_SUBTRACT Subtract key (numeric keypad)VK_DECIMAL Decimal key (numeric keypad)VK_DIVIDE Divide key (numeric keypad)VK_F1 F1 keyVK_F2 F2 keyVK_F3 F3 keyVK_F4 F4 keyVK_F5 F5 keyVK_F6 F6 keyVK_F7 F7 keyVK_F8 F8 keyVK_F9 F9 keyVK_F10 F10 keyVK_F11 F11 keyVK_F12 F12 keyVK_F13 F13 keyVK_F14 F14 keyVK_F15 F15 keyVK_F16 F16 keyVK_F17 F17 keyVK_F18 F18 keyVK_F19 F19 keyVK_F20 F20 keyVK_F21 F21 keyVK_F22 F22 keyVK_F23 F23 keyVK_F24 F24 keyVK_NUMLOCK Num Lock keyVK_SCROLL Scroll Lock keyVK_LSHIFT Left Shift key (only used with GetAsyncKeyState and GetKeyState)VK_RSHIFT Right Shift key (only used with GetAsyncKeyState an 谢谢wudi_1982的精彩作答!问题时,下次到这个位置的时候,DateTimePicker1会默认到焦点日上这个时候就不能再发送SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,VK_RIGHT,0);了,那么如何解决呢??? DateTimePicker1.SetFocus; SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,VK_LEFT,0); 找控件! 各位师兄,那有delphi2005下载.并且要速度快一点 如何迁移DELPHI环境至另一台机 TreeView与DB? 狂散分!!!来者人人有份(分) 都下班了,就剩我一个,苦恼呀,高分求教,,,已经发了几次了怎么就没几个人理我呢 金税接口问题!! =====>>>> 请进 DBLookupComboBox的用法 <Windows高级编程>后面的设备I/O太难学了,请问各位高手有何心得,连例子也很少 急急急~~医院排队系统数据结构是怎么定义的??? 为什么fsMDIChild子窗体关闭会最小化
begin
DateTimePicker1.SetFocus;
end;
DateTimePicker1.SetFocus;
SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,39,0)
DateTimePicker1.SetFocus;
SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,39,0);
SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,39,0)原理就是先把焦点移动到DateTimePicker1,然后发送消息WM_KEYDOWN
SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,VK_RIGHT,0)39是VK_RIGHT的虚拟键值。。通用的,就用上面这个,程序容易理解,就是把焦点移动到dataetimepicker上后,模拟光标vk_right被按下。
VK_RIGHT Right Arrow key
VK_DOWN Down Arrow key
VK_SELECT Select key
VK_PRINT Print key (keyboard-specific)
VK_EXECUTE Execute key
VK_SNAPSHOT Print Screen key
VK_INSERT Insert key
VK_DELETE Delete key
VK_HELP Help keyVK_LWIN Left Windows key (Microsoft keyboard)
VK_RWIN Right Windows key (Microsoft keyboard)
VK_APPS Applications key (Microsoft keyboard)
VK_NUMPAD0 0 key (numeric keypad)
VK_NUMPAD1 1 key (numeric keypad)
VK_NUMPAD2 2 key (numeric keypad)
VK_NUMPAD3 3 key (numeric keypad)
VK_NUMPAD4 4 key (numeric keypad)
VK_NUMPAD5 5 key (numeric keypad)
VK_NUMPAD6 6 key (numeric keypad)
VK_NUMPAD7 7 key (numeric keypad)
VK_NUMPAD8 8 key (numeric keypad)
VK_NUMPAD9 9 key (numeric keypad)VK_MULTIPLY Multiply key (numeric keypad)
VK_ADD Add key (numeric keypad)
VK_SEPARATOR Separator key (numeric keypad)
VK_SUBTRACT Subtract key (numeric keypad)
VK_DECIMAL Decimal key (numeric keypad)
VK_DIVIDE Divide key (numeric keypad)
VK_F1 F1 key
VK_F2 F2 key
VK_F3 F3 key
VK_F4 F4 key
VK_F5 F5 key
VK_F6 F6 key
VK_F7 F7 key
VK_F8 F8 key
VK_F9 F9 key
VK_F10 F10 key
VK_F11 F11 key
VK_F12 F12 key
VK_F13 F13 key
VK_F14 F14 key
VK_F15 F15 keyVK_F16 F16 key
VK_F17 F17 key
VK_F18 F18 key
VK_F19 F19 key
VK_F20 F20 key
VK_F21 F21 key
VK_F22 F22 key
VK_F23 F23 key
VK_F24 F24 key
VK_NUMLOCK Num Lock key
VK_SCROLL Scroll Lock key
VK_LSHIFT Left Shift key (only used with GetAsyncKeyState and GetKeyState)
VK_RSHIFT Right Shift key (only used with GetAsyncKeyState an
问题时,下次到这个位置的时候,DateTimePicker1会默认到焦点日上
这个时候就不能再发送SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,VK_RIGHT,0);
了,那么如何解决呢???
SendMessage(DateTimePicker1.Handle,WM_KEYDOWN,VK_LEFT,0);