Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
14-99783
RainKM
2003-12-09 14:57
2003.12.30
com


8-99651
Andrew
2003-08-28 09:14
2003.12.30
Как фиксировать значение размера потока TJPEGImage?


1-99540
Иванько
2003-12-15 17:16
2003.12.30
Жутко умный вопрос про ОЛЕ, WINAPI и все остальное :)))


6-99681
ИМХО
2003-10-31 03:21
2003.12.30
TWebBrowser


1-99605
Alex_x
2003-12-17 12:20
2003.12.30
Принтера




   Наверх