Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Ant__
0 / 0 / 0
Регистрация: 16.08.2007
Сообщений: 145
#1

Код Плавно скролящегося frame

17.08.2007, 16:07. Просмотров 790. Ответов 5
Метки нет (Все метки)

как сделать?
или можт уже есть готовый?
я пишу
if .top >X or <y then
.visible = false для всех элементов - получается топорно и Группы эл -ов несинхронно двигаются
посоветуйте

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2007, 16:07
Ответы с готовыми решениями:

Плавно исчезающая форма
Привет всем! Помогите с проблемой. Не могу понять, как сделать чтобы по...

Создание Плавно открывающейся формы
Лазил по вашему форумо и нашол очень забавный пример кода, программа...

Плавно увеличить PictureBox при наведении курсора
Приветствую. Есть массив PictureBox, размер которых необходимо плавно изменять...

Скроллинг для Frame
Привет ученому сообществу! Задача: создать exe-шник, на форме которого есть...

Некорректно располагаются компоненты на Frame
здравствуйте! только начал работать в визуал бейсике! возник такой вопрос при...

5
eddy
17.08.2007, 16:41 #2
Если я правильно понял, у тебя следющая ситуация: есть Frame1, внутри него есть какие-то контролы. Если это действительно так, то пиши такой код:

Frame.Move x, y
(по русски Решетка.Переместить x, y)

где x и у - расстояние в твипах. Элемент Frame1 является контейнером для контролов, которые находятся внутри него. Если движется Frame1, то вместе с ним синхронно движутся и контролы (убедись сам: в режиме разработки кинь на форму Frame, внутри Frame - другие контролы. Теперь подцепи мышом Frame и перетащи его...)

Метод Frame1. Move x, y лучше затолкть в событие Тimer1_Timer() и включи его (Timer1.Enablеd = True).

Внутри таймера отследи, чтобы Frame1 не уплыл за форму, т.е. проверь пересеклась нижняя или верхняя стороны Frame1 c стороной Form1. Если так, то выруби таймер (это случай, когда Frame1 скользит справа снизу).

Таков, в общем, черновой план.

Успеха

Eddy
Ant__
0 / 0 / 0
Регистрация: 16.08.2007
Сообщений: 145
17.08.2007, 17:00  [ТС] #3
пасиб конечно - но мне надо не элементы вместе с фреймом двигать, а создать подобие скрола ВНУТРИ фрейма
т е есть много эл-ов управления - все во фрейм не умещаются - и мы их перемещаем с пом-ю ф-ций вверх или вниз (меняем св-во .top) фрейм в это время неподвижен (!)
такое решение выз -т некие проблемы (см 1-е сообщение)
я уже нашел др-й - со скролом - но на него контролы визуально не садятся почемуто а програмно как я не знаю - если может ктонить - подскажите howto
thanks beforehand
0
eddy
17.08.2007, 18:14 #4
Почему тебе не использовать TabControl. Нарезаешь закладки - и дешево, и сердито. Не надо искать каких-то суперхитрых и навороченных контролов. Потеряешь много времени на тестирование. Используй стандартные. Мой опыт показвает, что многим юзерам не нравится какие-то навороченные элементы управления и ни к чему их пугать непрывычным видом. Работать с Button или TextEdit - это да, это они умеют. Зачем бедным юзерам искрить мозги нестандартным интерфейсом? Сам в старые времена этим увлекался - вовремя остановился.

С уважением

Eddy
Леон
0 / 0 / 1
Регистрация: 28.07.2007
Сообщений: 177
18.08.2007, 12:35 #5
А если всё-таки хочеш сделать скролинг, посади дополнительный fraim во внешний, на него все controls и эту рамку, при помощи move двигай вверх-вниз. Получеш нужный эффект.
0
member
0 / 0 / 0
Регистрация: 16.08.2006
Сообщений: 257
19.08.2007, 15:07 #6
Способ Леона хороший, я сом так всегда делаю. А если не подходит внутренний Frame, то попробуй так:
Visual Basic
1
2
3
4
5
6
Sub MoveControls(X as integer, Y As Integer)
For Each ctrl In Frame1.Controls
ctrl.Top = ctrl.Top + Y
ctrl.Left = ctrl.Left + X
Next ctrl
End sub
Для здвига, например на 10 твипов вверх и на 10 влево - нужно так:
Visual Basic
1
Call MoveControls(-10, -10)
0
19.08.2007, 15:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2007, 15:07

How programatically disable all controls within frame without actually specifying each control name?
Hello! I have Control array of 5 frames on the form. Each frame containes...

How programmatically load control into existing frame?
Hello! How programmatically load control into existing frame. Thanks in...

Как создать елемент управления в Frame
Как создать елемент управления например Label так чтоби она находилас в Frame....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru