Страница: 1 |
Страница: 1 |
Вопрос: Динамическое добавление контролов
Добавлено: 02.02.06 14:35
Автор вопроса: Repa
Не подскажите, почему не работает такая конструкция:
y = y + 1
Load Line5(y)
Line5(y).X1 = IntervX * y / 2
Line5(y).X2 = IntervX * (y + 1) / 2
Line5(y).Y1 = 7320
Line5(y).Y2 = 7320
Line5(y).Visible = True
Line5(y).BorderColor = &HC0&
Line5(0) существует, значения X и Y находятся в пределах видимости на экране, но линии не появляются.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #1
Добавлено: 02.02.06 14:46
Свойство формы AutoRedraw = True?
Номер ответа: 2
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #2
Добавлено: 03.02.06 17:42
AutoRedraw тут не причем. Маленький совет - вместо Form_Load юзай Activate. А еще лучше-используй инструкцию Line. И маленький косметический совет: использовать With. Т.Е.:
Load Line5(y)
With Line5(y)
.X1 = IntervX * y / 2
.X2 = IntervX * (y + 1) / 2
.Y1 = 7320
.Y2 = 7320
.Visible = True
.BorderColor = &HC0&
End With
Так быстрее.
Номер ответа: 3
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #3
Добавлено: 03.02.06 17:54
http://vbnet.ru/forum/show.aspx?id=98276
там написано о том, как добавлять контролы в массив.
PS. вместо Line-ов как объектов юзай метод Line(x,y)-(x,y). И используй событие Paint или свойство AutoRedraw
Номер ответа: 4
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #4
Добавлено: 03.02.06 18:00
Ой. Плохо прочитал суть вопроса.
По добавлению line-а вроде все правильно.
Попробуй так:
Line5(y).X1 = 0
Line5(y).X2 = 1000
Line5(y).Y1 = 0
Line5(y).Y2 = 1000
Так линия точно должна появиться.
Проверь, что она ничем не прикрывается.
И можно область кода взять чуть-чуть пошире.
Убедись, что исходная линия лежит на том объекте, на котором проверялись пределы видимости.