Функция ScreenToClient
Declare Function ScreenToClient Lib "user32" _
(ByVal hwnd As Long, lpPoint As POINTAPI) As Long
ScreenToClient конвертирует экранные координаты заданной точки в клиентские координаты
- hwnd
- Дескриптор окна, определяющего используемую клиентскую систему координат
- lpPoint
- Структура POINTAPI с экранными координатами точки. При вызове функции структура заполняется клиентскими координатами
Пример
' Подсвечиваем текст в Text1
' Расположите на форме Text1 и Timer1 (Interval=100)
' Добавьте в секцию General Declarations строчку
Dim highlighted As Boolean
' Меняем цвет текста при движении мыши
Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If highlighted Then Exit Sub
highlighted = True
Text1.ForeColor = vbRed
Timer1.Enabled = True
End Sub
' Убираем подсветку при выходе мыши
' из области текстового поля
Private Sub Timer1_Timer()
Dim pt As POINTAPI
' Определяем местоположение мыши
GetCursorPos pt
' Преобразуем в клиентские координаты
ScreenToClient hwnd, pt
' Вычисляем, находится ли мышь над текстовым полем
If pt.X < Text1.Left Or pt.Y < Text1.Top Or _
pt.X > Text1.Left + Text1.Width Or _
pt.Y > Text1.Top + Text1.Height _
Then
highlighted = False
Text1.ForeColor = vbBlack
Timer1.Enabled = False
End If
End Sub
Смотри также
ClientToScreen
Категория
Координаты окна