AbetoDesign_FactuGES2/Source/GUIBase/uViewBase.pas

58 lines
1.1 KiB
ObjectPascal
Raw Normal View History

unit uViewBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uGUIBase, uCustomView, JvComponent, JvFormAutoSize;
type
IViewBase = interface(ICustomView)
['{82FBDF28-9C5F-4922-952E-0E84D67FE4BB}']
procedure Refresh;
end;
TfrViewBase = class(TCustomView, IViewBase)
protected
procedure SetReadOnly(Value: Boolean); override;
public
procedure Refresh; virtual;
end;
implementation
{$R *.dfm}
uses
cxDBEdit, cxControls, dxLayoutControl;
{ TfrViewBase }
procedure TfrViewBase.Refresh;
begin
//
end;
procedure TfrViewBase.SetReadOnly(Value: Boolean);
var
i: integer;
begin
inherited;
2025-02-26 11:43:56 +00:00
if (csLoading in Self.ComponentState) then
Exit;
2025-02-26 11:43:56 +00:00
for i:=0 to Self.ComponentCount-1 do
begin
if (Self.Components[i] is TfrViewBase) then
(Self.Components[i] as TfrViewBase).ReadOnly := Self.ReadOnly;
2025-02-26 11:43:56 +00:00
if (Self.Components[i] is TcxControl)
and (not (Self.Components[i] Is TdxLayoutControl)) then
(Self.Components[i] as TcxControl).Enabled := not Self.ReadOnly;
end;
end;
end.