delphi的事件如上图所示:
图中oncloseup代表的是日期选择下拉框关闭时触发的事件。
//事件定义procedure Ondatechange(Sender: TObject); //事件执行:procedure TFrmSellReturnTicket.Ondatechange(Sender: TObject);beginif ((Sender as TComponent).Name = 'dtpstartdate') or ((Sender as TComponent).Name = 'dtpenddate') thenbegindtpdatecheck.checked := True;endelse if ((Sender as TComponent).Name = 'departstartdate') or ((Sender as TComponent).Name = 'departenddate') thenbegindepartdatecheck.Checked := True;end ;if dtpdatecheck.checked thenbegindtpStart.Text := FormatDateTime('yyyy-mm-dd',dtpstartdate.DateTime);dtpEnd.Text := FormatDateTime('yyyy-mm-dd',dtpenddate.DateTime);endelsebegindtpStart.Text := '';dtpEnd.Text := '';end;if departdatecheck.checked thenbegindepartStart.Text := FormatDateTime('yyyy-mm-dd',departstartdate.DateTime);departEnd.Text := FormatDateTime('yyyy-mm-dd',departenddate.DateTime);endelsebegindepartStart.Text := '';departEnd.Text := '';end;end;
大家都知道TdateTimerPicker控件是无法显示空值的。
我写这段代码的目的是使TdateTimerPicker能显示空值。
实际是将Tedit覆盖到TdateTimerPicker上,通过监听TdateTimerPicker的改变来动态改变Tedit的值。
上图 10和11 是2个复选框。复选框的onclick事件也绑定了上面的ondatechange方法。点击复选框会显示(清除)日期。