Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Плавное движение контрола Добавлено: 16.01.04 17:08  

Автор вопроса:  DaSharm | Web-сайт: dasharm.com | ICQ: 780477 
Наверное каждый из вас уже с этимсталкивался (картинки двигал). Мне нужно, чтоб отдельный контрол (например кнопка), плавно высовывался из-за угла экрана. Все эксперименты с таймером закончились полной неудачей. Как можно плавно двигать контрол по форме?

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 KAM



ICQ: 190197618 

Вопросов: 25
Ответов: 97
 Профиль | | #1 Добавлено: 16.01.04 17:16

А у меня всё с таймер великолепно получалось. Подбираешь подходящий интервал, и какое-нибудь число, на которое будет увеличиваться позиция контрола...

А в чём твои траблы с таймером заключаются?

Ответить

Номер ответа: 2
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #2
Добавлено: 16.01.04 17:28

Мне нужно перетянуть контрол на 15 сантиметров за 1 секунду. Движение получается обрывистым, фиговым и. т. п. при любых интервалах таймера и значениях увеличения позиции.

Эсли у тебя все круто, напиши, пожалуйста, исходник и кинь на dasharm@mail.ru

Ответить

Номер ответа: 3
Автор ответа:
 NeForm@t



ICQ: 252999255 

Вопросов: 36
Ответов: 247
 Web-сайт: g--k.newmail.ru
 Профиль | | #3
Добавлено: 16.01.04 22:12

Тут есть некоторая сложность по скорости, за 1 секунду на 15 см довольно много, но можно попробовать так: мы видим 24 кадра в сек, значит надо твои 15 см \24 и 1000милисекунд\24 и двигать всё время на это значенее

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 16.01.04 22:12

А как чебя ведут циклы с разным Step'ом ???

Ответить

Номер ответа: 5
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #5
Добавлено: 16.01.04 23:20

Хэ, даже не пробовал с разными степами. А какой синтаксис (не хочу искать по книгах)?

Ответить

Номер ответа: 6
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 16.01.04 23:28

dim i as long

i=[кол-во шагов]

for i=0 to i step 10

[тело цикла]

next

Ответить

Номер ответа: 7
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #7
Добавлено: 17.01.04 00:16

Очень быстро...

Ничего не получается.

Ответить

Номер ответа: 8
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #8
Добавлено: 17.01.04 00:56

Ну вот то быстро то медленно, тебе не угодить :))) Шучу, ты в тело цикла добавь следующее: Call Sleep(10&) ну разумеется с соответствующим объявлением... Вот увидишь, все будет!

Ответить

Номер ответа: 9
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #9
Добавлено: 17.01.04 01:33

А что если таскать не сам контрол а его изображение, а контрол делать невидимым до конца движения.
А затем делать видимым в конечных координатах.

Прорисовывать можно BitBlt(GetDc(Control.hWnd)

Ответить

Номер ответа: 10
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #10
Добавлено: 17.01.04 15:37

Call Sleep(10&) - попробую

2CyRax

Мне нужно , чтоб выезжала менюшка из-за угла экрана (прикольную игрушку делаю, с другом - дизайнером), т. е. копирование изображения не катит, хотя... Вопрос: Эсли я скопирую изображение, например, из Image1, как я могу после этого обращатся к этому изображению как к объекту (ну типа мне нужно клик и маусмув отследить)?

Ответить

Номер ответа: 11
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #11
Добавлено: 17.01.04 17:16

На вопрос который 2CyRax: На сколько я понимаю - никак, это ты уже будешь отслеживать события на том контроле, на котором происходит рисование (по координатам). Да, из из Image ты ничего не сможешь с помощью АПИ скопировать, у него нет свойства hDC (DeviceContent'a)

Ответить

Номер ответа: 12
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #12
Добавлено: 18.01.04 11:23

For i = 0 To 1000

Call Sleep(1)

Command1.Left = Command1.Left + 1

Next i

---------- Вау, вау, вау - это то, что надо!--------------

Спасибо большое всем, особенно sne!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам