Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Вниз

Как через 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.037 c
3-1104943185
Dimedrol
2005-01-05 19:39
2005.02.06
Проблема Substring+Locate (MySQL)


1-1106639800
Aleks
2005-01-25 10:56
2005.02.06
Доки HELP как проверить есть ли по адресу (http//) нужный ресурс


6-1101290910
Титков Эдуард
2004-11-24 13:08
2005.02.06
Звонилка!


1-1106391972
Suvit
2005-01-22 14:06
2005.02.06
Enabled или ReadOnly


4-1103030917
Phantomouse
2004-12-14 16:28
2005.02.06
COM+HEX





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский