![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поставить все DBEdit в ;Enabled:=False; [D5, Win2k]
ruslan_as © (2002-02-13 11:16:00)Как в программе отключить все DBEdit (Enabled:=False). А то у меня их тут собралось около 60.
Юрий Зотов (M) (2002-02-13 11:36:00) [1]Если все DBEdit"ы имеют общий DataSet, то все гораздо проще - DisableControls.
Крутов Алексей (2002-02-13 11:30:00) [2]Извиняюсь, переменную vDatasource передавать в процедуру не надо.
procedure SetEnabledFalseToDBControls(vWinControl:TWinControl);
procedure SetEnabledFalseForGroupControls(wc:TWinControl);
var i:integer;
c:TControl;
begin
if wc.ControlCount > 0 then
for i:=0 to wc.ControlCount-1 do
begin
c:=wc.Controls[i];
if c is TDBEdit then (c as TDBEdit).Enabled:=false;
if c is TWinControl then
SetEnabledFalseForGroupControls(c as TWinControl);
end;
end;
begin
SetEnabledFalseForGroupControls(vWinControl);
end;
Крутов Алексей (2002-02-13 11:28:00) [3]Процедура для выставления свойства Enabled у DBEdit на форме.
Вызов процедуры такой: SetEnabledFalseToDBControls(Form1),
где Form1 - переменная типа TForm.
Код возможно придется немного подкорректировать, но идея, я
думаю, понятна. Удачи !
procedure SetEnabledFalseToDBControls(vWinControl:TWinControl;vDataSource:TDataSource);
procedure SetEnabledFalseForGroupControls(wc:TWinControl);
var i:integer;
c:TControl;
begin
if wc.ControlCount > 0 then
for i:=0 to wc.ControlCount-1 do
begin
c:=wc.Controls[i];
if c is TDBEdit then (c as TDBEdit).Enabled:=false;
if c is TWinControl then
SetEnabledFalseForGroupControls(c as TWinControl);
end;
end;
begin
SetEnabledFalseForGroupControls(vWinControl);
end;