Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
1-37723
Agent[007]
2003-12-28 08:19
2004.01.13
Два в одном


14-37936
Style
2003-12-19 16:54
2004.01.13
Каким будет мир в 2035 году: заголовки газет


1-37683
Silver_
2003-12-19 12:03
2004.01.13
Как отловить момент создания форм


3-37557
md
2003-12-15 14:41
2004.01.13
что за ошибка?


1-37615
denick
2003-12-31 09:51
2004.01.13
Как удалить из TreeView`а один из Node,




   Наверх