What you say is right for single component but not for composite components like edit&button. In fact you cannot type on a button but you can do that on a edit.
Due to different date format (short long and
so on) the original idea was to select a date by a calendar and not by typing. In this way the user bypass the date format. Regards,
Salvatore
---------------------------------------------------------------------- Gerard Visent - 2008-02-21 16:49
---------------------------------------------------------------------- Salvatore:
No, I dind't confuse ReadOnly with Enabled.
From the VCL
ref.:
TControl.Enabled: Use Enabled to change the availability of the control to
the user. To disable a control, set Enabled to false. Disabled controls
appear dimmed. If Enabled is false, the control
ignores mouse, keyboard,
and timer events.
To re-enable a control, set
Enabled to true. The control is no longer
dimmed, and the user can use
the control.
TCustomEdit.ReadOnly: To restrict the edit control to display only, set
the ReadOnly property to true. Set ReadOnly to false to allow the contents
of the edit control to be edited.
Setting
ReadOnly to true ensures that the text is not altered, while still allowing the user to select text. The selected text can then be manipulated
by the application, or copied to the Clipboard.
Many other
components or classes (TDBGrid, TColumn, TEdit, TField, All DB controls
that allow editing) also have a ReadOnly property wich is used in the
same way.
This way, if you want to lock some fields on a form while others can be
edited (a very common behaviour in many apps), you just set them to
ReadOnly.
If we go the other way, not only will you have to
set enabled for some
controls and not for others, but for those that
are disabled the user won't
be able to select the text and copy.
Now,
you can always say that we don't have to abide to VCL compatibility or
even common sense <g>