Текущий архив: 2004.01.13;
Скачать: CL | DM;
ВнизКак найти компонент на форме, зная его Top и Left? Найти похожие ветки
← →
Delphi_Ghost (2003-12-30 15:31) [0]На форме много TSpeedButton"ов. И каждого разный Top и Left. Как
(и можно ли) создать ф-цию типа TSpeedButton, чтобы она вовращала TSpeedButton соответствующий переданоыйм её Top и Left.
Например:
GetElement( Top, Left : Integer ) : TSpeedButton
← →
Dimman1 (2003-12-30 15:40) [1]пробегаешься по всем компанентам формы и ищеть с какой тебе надо, например:
for i:=0 to form1.controls.count-1 do
if (form1.controls[i] is TSpeedButton) then
if ((form1.controls[i] as TSpeedButton).Left=Left)and
((form1.controls[i] as TSpeedButton).Left=Left) then
begin
Result:=form1.controls[i];
exit;
end;
Не помню точно, то ли controls, то ли companents
← →
Тимохов (2003-12-30 15:43) [2]for i:=0 to form1.controls.count-1 do
if (form1.controls[i] is TSpeedButton) then
if ((form1.controls[i] as TSpeedButton).Left=Left)and
((form1.controls[i] as TSpeedButton). Top=Top) then
begin
Result:=form1.controls[i];
exit;
end;
и надо пользоваться components
← →
Dimman1 (2003-12-30 15:44) [3]ну не один ли фик, не в этом суть, с головы писал :)
← →
Тимохов (2003-12-30 15:58) [4]В данной конкретной задаче можно и conrols, т.к. все кнопки лежат на форме.
Но вообще components правильнее, т.к. через components могут быть найдены и кнопки лежащие на панельках, например.
← →
Бегемот (2003-12-30 16:12) [5]for i:=0 to form1.controls.count-1 do
if (form1.controls[i] is TSpeedButton) then
if ((form1.controls[i] as TSpeedButton).Left=Left)and
((form1.controls[i] as TSpeedButton).Top=Top) then
begin
Result:=form1. TSpeedButton(controls[i]);
exit;
end;
Cм условия задачи ;)
← →
Dead (2003-12-30 18:14) [6]Спасибо, все работает (Правда не controls.count или components.count а просто: Form1.ComponentCount)
← →
tchn (2003-12-31 03:47) [7]еще один метод идентификации компонентов - присваивать свойству tag каждому компоненту свое значение.
плохо, конечно, что эти значения нужно будет потом всегда помнить.. но хорошо, что можно нужный компонент быстро вычислить
← →
Романов Р.В. (2003-12-31 06:20) [8]F1 - ControlAtPos
Страницы: 1 вся ветка
Текущий архив: 2004.01.13;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.013 c