Прилипание формы2 к форме1

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Прилипание формы2 к форме1

Сообщение GAL » 03.06.2005 (Пт) 12:12

Привет!
Помогите, пожалуйста..
Как сделать чтобы при загрузке формы2 (Form2.Show) она прилипала к форме1? К примеру справа.. :?:
На форуме я такого что-то не нашел.. :(
Заранее спасибо.

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 03.06.2005 (Пт) 12:13

.Top
.Left

:?:
На это не смотрите! Это не подпись!!!!!!

GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Сообщение GAL » 03.06.2005 (Пт) 12:20

Не понял я, Alexander N. Samarin.. :(
Где указать надо?
Поясни, плиз..

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 03.06.2005 (Пт) 12:29

В коде, который отвечает за перемещение окна.
Lasciate ogni speranza, voi ch'entrate.

iolaus
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 19.03.2002 (Вт) 18:33
Откуда: Москва

Сообщение iolaus » 03.06.2005 (Пт) 12:31

а это смотря как ты будешь отлавливать перемещение своей первой формы...
This message will self destruct in five seconds!!!

GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Сообщение GAL » 03.06.2005 (Пт) 13:00

А поточнее можно?
Что-то у меня не получается.. Прилипает, но в левый верхний угол формы1, а мне надо к краю формы1.

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Сообщение MeMBus » 03.06.2005 (Пт) 13:03

Посмотри класс cMagneticWnd, может быть поможет.

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 03.06.2005 (Пт) 14:42

:twisted: Да проще:
Код: Выделить всё

If (Abs(From2.left - (Form1.left+Form1.with)) < 50) and (Abs(Form2.top - form1.top) < 50) then
    From2.left = (Form1.left+Form1.width)
    Form2.top = form1.top
EndIf

Прилипает в 50 пикселях (или твипах - ??) от края. Писал от балды, поэтому могут быть ошибки :roll:
На это не смотрите! Это не подпись!!!!!!

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Re: Прилипание формы2 к форме1

Сообщение Alexander N. Samarin » 03.06.2005 (Пт) 14:45

alibek писал(а):В коде, который отвечает за перемещение окна.

GAL писал(а):.... Как сделать чтобы при загрузке формы2 (Form2.Show) она прилипала к форме1? ....

Можно и в коде FormLoad
На это не смотрите! Это не подпись!!!!!!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 03.06.2005 (Пт) 14:50

"Прилипала" относится скорее всего ко всему сроку жизни приложения.
Lasciate ogni speranza, voi ch'entrate.

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 03.06.2005 (Пт) 23:19

Вот так?
Код: Выделить всё
Private Sub Form_Load()
Form2.Show
Form2.Top = Me.Top
Form2.Left = Me.Left - Form2.Width
End Sub

Private Sub Timer1_Timer()
Form2.Top = Me.Top
Form2.Left = Me.Left - Form2.Width
End Sub


это в первой форме...
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Сообщение ism » 03.06.2005 (Пт) 23:48

С таймером тормозит. Лутше ловить WM_MOVE формы1 и перемещать форму2.

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 04.06.2005 (Сб) 15:04

А если в таймере проверять, сдвинули ли форму?
На это не смотрите! Это не подпись!!!!!!

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 04.06.2005 (Сб) 15:16

Не, н я так, образно... чтоб принцип был понятен...
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!


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

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

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

    TopList