Вниз
Скачать: 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.012 c
3-37553
axx
2003-12-15 15:22
2004.01.13
Передача параметров во Views


14-37861
REA
2003-12-22 16:47
2004.01.13
COM -> TCP/IP -> COM


1-37658
serg128
2003-12-26 18:28
2004.01.13
Как отображать в RxDBGrid треугольнички на TitleButton?


1-37690
____Nikolay
2003-12-20 21:37
2004.01.13
Вопрос по FastReport


3-37576
www
2003-12-11 11:53
2004.01.13
Не заполняется DBComboBox




   Наверх