100!如何实现Combobox得到焦点即自动展开,且能用上下键选择(100分)

  • 主题发起人 主题发起人 nzc
  • 开始时间 开始时间
N

nzc

Unregistered / Unconfirmed
GUEST, unregistred user!
100!如何实现Combobox得到焦点即自动展开,且能用上下键选择及如何
控制时间如(12:15)的输入不出现非法时间。
 
ComboBox.DroppedDown:=True;
 
得到焦点自动展开的方法很多。
比如在OnEnter中,或者对CM_FocusChanged消息进行处理。
不让非法输入,就是你自己在OnChange中写代码了。
 
谢谢两位!
 
combobox本来就能用上下键选择
procedure combobox1enter(sender: tobject);
begin
combobox1.droppeddown:=true
end;
输入是否合法可以在keypress或者onchange里面控制
 
谢谢各位,第一个问题已解决,我很菜,控制时间能不能给点代码!
 
试试formatdatetime函数
 
//combobox本来就能用上下键选择,不过好像要按两下向下的方向键才行
procedure combobox1enter(sender: tobject);
begin
combobox1.droppeddown:=true;
sendmessage(combobox1.handle,wm_keydown,vk_down,0);
end;
 
用TMaskEdit ,设置editmask为'99:99'
 
to jsxjd:
谢谢各位!!!
但 形如87:99怎么办?
 
在 OnExit 中检查,不让它通过。

procedure TForm1.MaskEdit1Exit(Sender: TObject);
begin
if (strtoint('0'+trim(copy(maskedit1.Text,1,2)))>=12)
or (strtoint('0'+trim(copy(maskedit1.Text,4,2)))>=60)
then maskedit1.setfocus;
end;
 
我接受了,谢谢所有帮助的朋友,请受分了。
 
后退
顶部