Subject | TIB_CustomDateTimePicker notifications fix |
---|---|
Author | Nello Sestini |
Post date | 2001-04-02T18:43:47Z |
IBO_3_6_Cf
I think there's a bug in TIB_CustomDateTimePicker.CNNotify
The effect is to discard notifications other than
the two it processes - so for example the OnCloseUp
and OnDropDown events don't work and the DroppedDown
property won't ever be true.
I think the fix is to add an "else" case and
call the inherited handler. The way the original
is indented it looks like there is one - but it's
actually the else for the "if" in the last case.
Code follows
-ns
procedure TIB_CustomDateTimePicker.CNNotify(var Message: TWMNotify);
begin
with Message, Message.NMHdr^ do begin
Result := 0;
case code of
DTN_DATETIMECHANGE: if DataLink.Modify then begin
inherited;
DataLink.ControlIsModified := true;
SysUpdateData( nil );
end;
DTN_WMKEYDOWN: if DataLink.Modify then begin
inherited;
DataLink.ControlIsModified := true;
SysUpdateData( nil );
end else begin
inherited;
end;
else begin
inherited;
end;
end;
end;
end;
I think there's a bug in TIB_CustomDateTimePicker.CNNotify
The effect is to discard notifications other than
the two it processes - so for example the OnCloseUp
and OnDropDown events don't work and the DroppedDown
property won't ever be true.
I think the fix is to add an "else" case and
call the inherited handler. The way the original
is indented it looks like there is one - but it's
actually the else for the "if" in the last case.
Code follows
-ns
procedure TIB_CustomDateTimePicker.CNNotify(var Message: TWMNotify);
begin
with Message, Message.NMHdr^ do begin
Result := 0;
case code of
DTN_DATETIMECHANGE: if DataLink.Modify then begin
inherited;
DataLink.ControlIsModified := true;
SysUpdateData( nil );
end;
DTN_WMKEYDOWN: if DataLink.Modify then begin
inherited;
DataLink.ControlIsModified := true;
SysUpdateData( nil );
end else begin
inherited;
end;
else begin
inherited;
end;
end;
end;
end;