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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
1-99545
smu
2003-12-16 11:23
2003.12.30
Как обрабатывать события невизуальных компонентов?


1-99644
webpauk
2003-12-16 18:28
2003.12.30
PopupMenu


14-99751
VID
2003-12-06 22:09
2003.12.30
что за неполадки с билайновским GPRS-INTERNET ???


4-99830
plyaznik
2003-11-02 23:15
2003.12.30
помогите с dialogbox


3-99498
snake
2003-12-07 19:49
2003.12.30
Где можно найти инфу про ado rdsconnection....