I see that UpdateFormat is setting the format by calling DefDateFormat function:
procedure TsCustomDateEdit.UpdateFormat;
begin
FDateFormat := DefDateFormat(FourDigitYear);
end;
That function is getting the format from default Windows format settings as you can see here:
function DefDateFormat(NormalYears: Boolean): string;
var
Y: ShortString;
begin
Y := iff(NormalYears, 'YYYY', 'YY');
case GetDateOrder({$IFDEF DELPHI_XE}FormatSettings.{$ENDIF}ShortDateFormat) of
doMDY: Result := 'MM/DD/' + Y;
doDMY: Result := 'DD/MM/' + Y;
doYMD: Result := Y + '/MM/DD';
end
end;
So, if you want to use different date format than your Windows settings you need to modify that function or make UpdateFormat virtual (it is protected but not virtual) and inherit the control. You need to also add DateFormat property, it seems to be private.
TsCustomDateEdit = class(TsCustomComboEdit)
protected
procedure UpdateFormat; virtual;
public
property DateFormat: string[10] read FDateFormat write FDateFormat;
Then you could do your own control like:
TMyDateEdit = class(TsDateEdit)
protected
procedure UpdateFormat; override;
...
procedure TMyDateEdit.UpdateFormat;
begin
DateFormat := ...
end;