Привязка формы к элементу другой

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

Привязка формы к элементу другой

Сообщение Dummiel » 30.07.2004 (Пт) 9:32

Как узнать координаты элемента на форме по отношению к координатам экрана?
Нужно, чтобы при клике на кнопке дочерней формы следующая форма выходила именно возле этой кнопки. Перед кликом пользователь может дочернюю форму и передвинуть.

А будете ругаться - будет то же, что и вчера! :cry:

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 30.07.2004 (Пт) 9:54

Можно через GetCursorPos:
узнаешь глобальные координаты мыши, и делаешь дочерней форме Top=Y, Left=X

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 30.07.2004 (Пт) 9:59

Вот я тут примерчик написал:
Код модуля:
Код: Выделить всё
Option Explicit

Type POINTAPI
  X As Long
  Y As Long
End Type

Declare Function GetCursorPos Lib "user32.dll" (lpPoint As POINTAPI) As Long




Код формы:
Код: Выделить всё
Option Explicit

Private Sub Command1_Click()
    Dim Koor As POINTAPI
    Dim Result As Long
   
    Result = GetCursorPos(Koor)
   
    Form2.Top = Koor.Y * 15
    Form2.Left = Koor.X * 15
   
    Form2.Show 1, Me
   
End Sub


Дочерняя форма (Form2) вызывается при нажатии кнопки Command1


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

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

Сейчас этот форум просматривают: Google-бот, Majestic-12 [Bot] и гости: 12

    TopList  
cron