[Forms] Совместное перетаскивание

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Bagmen
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 29.12.2005 (Чт) 0:40

[Forms] Совместное перетаскивание

Сообщение Bagmen » 29.12.2005 (Чт) 0:49

Дано:
Есть две формы прижатые на друг к другу.
Задача:
Как сделать чтобы две формы во время перетаскивания перемещались одновременно? То есть с эффектом залипания? Причём без использования таймера! Желательно через API-функции... Ещё чтобы залипание работало и при перетаскивании за заголовок одной из формы.

Есть идеи?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: [Forms] Совместное перетаскивание

Сообщение Andrey Fedorov » 29.12.2005 (Чт) 9:32

Bagmen писал(а):Есть идеи?


А в чем проблема-то? При перемещении формы проверяй прижата ли к ней другая, если да то перемещай и ее. Таймер и API тут даром не нужны.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Bagmen
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 29.12.2005 (Чт) 0:40

Сообщение Bagmen » 29.12.2005 (Чт) 17:34

Хм, "ПРОВЕРЯЙ"...
Ты сначала попробовал бы сам свою идею реализовать, а потом бы советовал...
Дело в том, что событие MouseDown относится к Форме а не к её заголовку.
Можно конечно сделать так чтобы после перетаскивания одной формы, вторая становилась рядом, но это не "ОДНОВРЕМЕННО"
Я много времени потратил решая этот вопрос и пришел к выводу что самый быстрый и простой способ - таймер. Но использование таймера в такой ситуации - извращение!
Поэтому и хочу узнать у грамотных людей какой-нибудь другой способ...

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 29.12.2005 (Чт) 17:58

Bagmen писал(а):Но использование таймера в такой ситуации - извращение!

кто тебе такое сказал?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.12.2005 (Чт) 18:35

Bagmen писал(а):Хм, "ПРОВЕРЯЙ"...
Ты сначала попробовал бы сам свою идею реализовать, а потом бы советовал...

Прикинь, большинство присутствующих делали это много раз... Проверяли, в смысле...

То ли правда человек не знает о сабклассинге...
Человек! Ты знаешь о сабклассинге? И искал ли по этому форуму это слово?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.12.2005 (Чт) 18:37

Ramzes писал(а):
Bagmen писал(а):Но использование таймера в такой ситуации - извращение!

кто тебе такое сказал?

Я такого не говорил, но теперь скажу, извращение это.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 30.12.2005 (Пт) 13:10

Вот пример. Таскать можно и за заголовок, и за любую часть окна.
Вложения
Move.zip
(2.08 Кб) Скачиваний: 31
Нет ничего невозможного для человека с интеллектом.

Bagmen
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 29.12.2005 (Чт) 0:40

Сообщение Bagmen » 30.12.2005 (Пт) 19:26

Kostyan - respect ! Одно сообщение и по делу. Спасибо.
Эх тяжело быть начинающим...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList