我想对cxdateedit进行编码,以便在用户每次按下键盘上的箭头时显示日历,并在每次按下Enter键时搜索数据。因此,我在OnKeyPress事件中进行了编码:
if (key=chr(VK_RETURN)) then begin
zquery4.Close;
zquery4.SQL.Clear;
zquery4.SQL.Add(sql1);
zquery4.Open;
end;
if key=chr(VK_DOWN) then
cxdateedit1.DroppedDown:=true;
虽然VK_RETURN(输入键)可以正常工作,但带有VK_DOWN(向下键)的输入根本不起作用!知道为什么以及如何实现它吗?谢谢!
答案 0 :(得分:0)
箭头键是操作系统保留的,用于导航。 UI控件不会收到箭头的按键事件,除非该控件明确向OS询问它们的箭头事件,我猜cxDateEdit
不会。因此,尝试对cxDateEdit
进行子类化,以便可以截获WM_GETDLGCODE
消息,并在控件的响应中包含DLGC_WANTARROWS
标志。