Hai BigAl,
Du könntest dir eine Procedure schreiben der als Parameter eine TForm übergeben wird. In der Procedure läufst Du nun über alle Controlls. Wenn Du nun auf ein TEdit triffst kannst Du anhand bestimmter Bedingungen (z.B ReadOnly) eine Frabe setzten.
Diese Procedure rufst Du nun im OnCreate (oder OnActivate) jeder Form auf und übergibst als Parameter den Namen der Form.
Delphi-Quellcode:
procedure SetEditColors(const aForm: TForm);
const
readOnlyColor = clRed;
editColor = clBlue;
var
i: Integer;
curControl: TControl;
begin
for i := 0 to aForm.ControlCount - 1 do // Durch alle Controls laufen
begin
curControl := aForm.Controls[i]; // Das "aktuelle" Control
if (curControl is TEdit) then // ist ein Edit
begin
with (curControl as TEdit) do // aktuelles Control auf TEdit casten
begin
if (ReadOnly) then // Wenn ReadOnlay dann
begin
Color := readOnlyColor;
end
else // ansonsten das.
begin
Color := editColor;
end;
end;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
SetEditColors(self); // Form als Parameter
end;
Wenn Du die Procedure
SetEditColors() in eine eigene
Unit auslagerst kannst Du sie im OnCreate jeder Form aufrufen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"