Ver Mensaje Individual
  #6  
Antiguo 19-03-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Reputación: 20
oscarac Va por buen camino
Cita:
Empezado por bucanero Ver Mensaje
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
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita