Cita:
Empezado por bucanero
hola
El tema es que la herencia en un TDateTimePicker es asi:
Código:
TDateTimePicker = class(TCommonCalendar) --> TCommonCalendar = class(TWinControl)
q
y salvo el TWinControl no tiene nada mas en común con respecto a los TEdit / TDBEdit
Código:
TEdit = class(TCustomEdit) --> TCustomEdit = class(TWinControl)
TDBEdit = class(TCustomMaskEdit) --> TCustomMaskEdit = class(TCustomEdit) --> TCustomEdit = class(TWinControl)
Una idea como te ha sugerido caminante es preguntar por TWinControl, lo que pasa que si tienes otros componentes que hereden de TWinControl en el form y seguramente si (botones, grids, etc) puedes terminar desabilitando mas de los que realmente te interesan.
Otra opción es buscar solamente los que quieres desabilitar:
Código Delphi [-]procedure BloquearEdits(Form: TForm);
var
i: Integer;
begin
for i := 0 to (Form.ComponentCount - 1) do begin
if (Form.Components[i] is TCustomEdit) then
TCustomEdit(Form.Components[i]).Enabled := False
else if (Form.Components[i] is TDateTimePicker) then
TDateTimePicker(Form.Components[i]).Enabled := False;
end;
end;
|
respecto a este ejemplo me aperece este mensaje de error
Cita:
[dcc32 Error] Librerias_u.pas(264): E2015 Operator not applicable to this operand type
|
la pregunta es, como saber que tipo de componente es el componente actual (de la lista de componentes en el form), para saber si lo deshabilito o no