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

Вниз

TPanel не такой как TEdit...   Найти похожие ветки 

 
AndreySoft   (2003-12-16 01:12) [0]

кусочек кода:
for i:=0 to x do
begin
TPanel(ScrollBox1.Controls[i]).Visible:=True;
TEdit(ScrollBox1.Controls[i]).Visible:=True;
end;

Почему это: TEdit(ScrollBox1.Controls[i]).Visible:=True; работает нормально, а это: TPanel(ScrollBox1.Controls[i]).Visible:=True; нет?
Компилятор не ругается, всё нормально, только Эдиты появляются, а Панели нет...
Как сделать чтобы они тоже появлялись...


 
ЮЮ   (2003-12-16 03:03) [1]

Потому что Visible устанавливаеься у первых х+1 Control-ов (for i:=0 to x), а TPanel() или TEdit() указал - это без разницы( т.е. две строки здесьь ни к чему, т.к. обе изменяют один и тот же ScrollBox1.Controls[i])


 
Нурик   (2003-12-16 03:54) [2]

Может так попробуете

for i:=0 to x do
begin
if (ScrollBox1.Controls[i] is TPanel) then (ScrollBox1.Controls[i] as TPanel).Visible:=True;
if (ScrollBox1.Controls[i] is TEdit) then (ScrollBox1.Controls[i] as TEdit).Visible:=True;
end;


 
AndreySoft   (2003-12-16 16:17) [3]


> Нурик © (16.12.03 03:54) [2]
> Может так попробуете
>
> for i:=0 to x do
> begin
> if (ScrollBox1.Controls[i] is TPanel) then (ScrollBox1.Controls[i]
> as TPanel).Visible:=True;
> if (ScrollBox1.Controls[i] is TEdit) then (ScrollBox1.Controls[i]
> as TEdit).Visible:=True;
> end;


Тот же результат...


 
AndreySoft   (2003-12-16 16:22) [4]


> ЮЮ © (16.12.03 03:03) [1]
> Потому что Visible устанавливаеься у первых х+1 Control-ов
> (for i:=0 to x), а TPanel() или TEdit() указал - это без
> разницы( т.е. две строки здесьь ни к чему, т.к. обе изменяют
> один и тот же ScrollBox1.Controls[i])


Ну пишу я одну строку:
TEdit(ScrollBox1.Controls[i]).Visible:=True;
Всё равно Edit"ы появляются а Panel"и нет.
и наоборот пробовал: оставлял только
TPanel(ScrollBox1.Controls[i]).Visible:=True;
Всё равно никак...
Помогите пожалуйста!


 
KSergey   (2003-12-16 16:28) [5]

Епрст...

А x чему равно?
Может вместо него поставить таки ScrollBox1.ControlCount-1 ?


 
AndreySoft   (2003-12-16 16:48) [6]

Нет, нельзя!
В этом и заключается тонкость...
Мне не все нужно компоненты появлять, а только определённые...
А x вводит пользователь.


 
KSergey   (2003-12-16 16:51) [7]

;)
А может заставить вводить его нужное число? ;)
Хорошо, для эксперимента - попробуйте сделать ScrollBox1.ControlCount-1
Если все объявится - тогда объясните это пользователю.

Или нам задачу.


 
Семен Сорокин   (2003-12-16 16:51) [8]

Нет, нельзя!
В этом и заключается тонкость...
Мне не все нужно компоненты появлять, а только определённые...
А x вводит пользователь.

круто :))
но что-то мне подсказывает, что перебирать ты должен все компоненты, а уже в цикле проверять условия отбора.


 
Amoeba   (2003-12-16 16:53) [9]

Задай каждому компоненту свое значение св-ва Tag и потом используй его для идентификации компонентов, какие нужно делать видимыми.


 
REA   (2003-12-16 16:53) [10]

А что он вводит? ScrollBox1.Controls например от 0 до 20. Из них первые 5 это панели, следующие три это TEdit, потом опять панели. Так не пойдет.


 
REA   (2003-12-16 16:54) [11]

Во во. См. [9]. Преобразовывать достаточно к TControl.


 
Silver Alex   (2003-12-16 16:55) [12]

а если все ради чистоты эксперимента по предложению KSergey поставить "таки ScrollBox1.ControlCount-1 " что будет?


 
AndreySoft   (2003-12-16 17:22) [13]

Да ScrollBox1.ControlCount-1 работает...он все их показывает.
Всё я разобрался:
Дело в том что у меня
Edit1=TEdit(ScrollBox1.Controls[0]), а
Panel1=TPanel(ScrollBox1.Controls[101]) тотому он Panel"и и не показывал.
Ввёл новую переменную и всё заработало!
Всем спасибо!


 
REA   (2003-12-16 17:50) [14]

Скромно... 101 Control. Что то не то в Датском королевстве.



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

Форум: "Основная";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
4-99811
fishca
2003-11-03 09:33
2003.12.30
Использование NtQuerySystemInformation в Delphi.


14-99742
Thor
2003-11-28 22:29
2003.12.30
СВЧ и ИК печи.


1-99570
Alex-chainik
2003-12-15 09:58
2003.12.30
Подобие TasBar в Windows


6-99669
Nickge
2003-10-31 09:38
2003.12.30
вопрос по nmftp


14-99777
Thor
2003-12-05 15:07
2003.12.30
Борис Абрамыч инициалы сменил.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский