Функция GetWindowLong
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
GetWindowLong получает различную информацию о заданном окне
Возвращаемое значение
В случае ошибки функция возвращает 0 (используйте GetLastError для получения кода ошибки). В успешном случае функция возвращает 32-битное значение
Параметры
- hWnd
- Дескриптор окна для получения требуемой информации
- nIndex
- Значения, определяющие стиль окна. Возможны следующие значения:
- GWL_EXSTYLE = -20
- Расширенные стили окна
- GWL_STYLE = -16
- Стили окна
- GWL_WNDPROC = -4
- Указатель на функцию WindowProc
- GWL_HINSTANCE = -6
- Дескриптор экземпляра, владеющего окном
- GWL_HWNDPARENT = -8
- Дескриптор родителя заданного окна, если есть
- GWL_ID = -12
- Дескриптор окна
- GWL_USERDATA = -21
- Значение, определяемое приложением
Для диалоговых окон используются следующие значения:
- DWL_DLGPROC = 4
- Адрес процедуры диалогового окна
- DWL_MSGRESULT = 0
- Возвращаемое значение при обработке сообщения процедурой диалогового окна
- DWL_USER = 8
- Значение, определяемое приложением
Пример
' Смотри также пример apiform.zip
' Определим, имеет ли Form1 кнопку Восстановить
' в заголовке формы
' Присвойте свойству формы MaxButton значение False
Dim styles As Long
' Получим стили окна Form1
styles = GetWindowLong(Form1.hWnd, GWL_STYLE)
' Определяем, есть ли нужная нам кнопка
If (styles And WS_MAXIMIZEBOX) = WS_MAXIMIZEBOX Then
Debug.Print "Form1 имеет кнопку Восстановить"
Else
Debug.Print "Form1 не имеет кнопку Восстановить"
End If
Смотри также
GetClassLong, SetWindowLong
Категория
Классы