Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

Как через Form1.Components[i] получить размеры компонента   Найти похожие ветки 

 
FFFFFFQE   (2005-01-23 12:28) [0]

Как через Form1.Components[i] получить размеры компонента(Height,width)?


 
aus   (2005-01-23 12:40) [1]

Правильнее будет не Components[i], а Controls[i].
В цикле перебирай контролы, как найдешь нужный - вот тебе и его размеры. Для того, чтобы убедиться, тот ли это контрол, проверяй его тип, ли имя, или Tag, как тебе удобнее.


 
Юрий Зотов ©   (2005-01-23 12:44) [2]

if Components[i] is TControl then
 with TControl(Components[i]) do
 begin
   ... //  Здесь размеры уже доступны.
 end;


 
Юрий Зотов ©   (2005-01-23 12:48) [3]

> aus   (23.01.05 12:40) [1]

Кладу на форму панель, на панель - кнопку. Пишу предложенный Вами цикл в методе формы - т.е. там, где обычно и пишут код.

Результат - кнопка найдена не будет.


 
aus   (2005-01-23 12:58) [4]

Юрий Зотов ©   (23.01.05 12:48) [3]
Я подумал об этом, когда уже ответ ушел.


 
Pashkerton   (2005-01-23 13:53) [5]

Так сделай рекурсию
if Form1.Components[i].ComponentCount <> 0 then <recursive_function(Form1.Components[i])>


 
Юрий Зотов ©   (2005-01-23 14:00) [6]

> Pashkerton   (23.01.05 13:53) [5]

При использовании цикла по Components делать рекурсию нет нужды. Если, конечно, компоненты не создаются динамически и при этом их Owner - не форма.


 
aus   (2005-01-23 14:09) [7]

он имел ввиду Controls[i], тогда рекурсия как раз поможет в приведенном Вами примере [3].


 
Юрий Зотов ©   (2005-01-23 14:14) [8]

> aus   (23.01.05 14:09) [7]

Это понятно. Непонятно другое - зачем нужно усложнять простейшую задачку.


 
aus   (2005-01-23 14:29) [9]

Юрий Зотов ©   (23.01.05 14:14) [8]
Как говорит один наш программист (без малого пенсионер), все должно быть сложно, чтобы только ты мог разобраться и считался незаменимым человеком. Это на мой вопрос почему у него в рабочем каталоге есть папки с названиями "1".."25", в которых хранятся данные по месяцам, которых всего 12.
Конечно я это не всерьез, но это правда.


 
KilkennyCat ©   (2005-01-23 14:39) [10]


> aus   (23.01.05 14:29) [9]

это не правда. Ложная незаменимость необходима только в экстренных случаях, например, если шеф - сволочь и моральный урод вообще. В остальных случаях это просто испортит имидж. Если все делать по-человечески, и относится будут по-человечески... Зачем моему шефу искать другого человека, если он знает, что я работаю честно?


 
aus   (2005-01-23 14:55) [11]

Правда - это описанный мной факт. А то, что авторитет нужно зарабатывать другими способами, я согласен.


 
default ©   (2005-01-23 15:03) [12]

aus   (23.01.05 14:55) [11]
а он не боится что придёт другой программист и скажет на эти 25 папок что крыше малость повёрнута у Вашего работника?
что ему сложностей малов в программировании он их ещё сам создаёт, это уже маниакальные наклонности какие-то


 
aus   (2005-01-23 15:11) [13]

другой программист уже пришел, aus зовут. Но не все так просто в этой жизни...


 
default ©   (2005-01-23 15:16) [14]

aus   (23.01.05 15:11) [13]
я понимаю его мотивы, быть может возраст, боится что другую работу будет сложно найти если с этой уйдёт, поэтому такие "козни"



Страницы: 1 вся ветка

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
6-1101290910
Титков Эдуард
2004-11-24 13:08
2005.02.06
Звонилка!


3-1105365436
Scorpio
2005-01-10 16:57
2005.02.06
Как передать данные в переменную при соединении 3 баз.


6-1100982595
KarpEn
2004-11-20 23:29
2005.02.06
TServerSocket - как узнать, от какого клиента получаем данные?


14-1105957027
Anton++
2005-01-17 13:17
2005.02.06
NAROD.ru


14-1106102595
Думкин
2005-01-19 05:43
2005.02.06
С Днем Рождения! 19 января