LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Dropdown...
 RE: Dropdown
 
 15.06.2007 21:08:06
All
4316 сообщения
1-ый


RE: Dropdown
или вообще замени перход вверх\вниз клавишами PgUp,PgDn


P.S. Общий раздел по формам
Автор: makc от 0:00:00 Источник ...
 15.06.2007 21:08:06
Alexander1
23 сообщения


RE: Dropdown
Нет, это слишком громоздко.. KeyDown лучше сделать как класс для формы. Посему все идеи не годятся..PgUp и PgDw тоже не фонтан, потому как по ним я листаю страницами..Ну словом эти мысли я отмел уже достаточно давно.
Мне тут кинули ссылку на API функцию.. попробую, может получиться..



P.S. Общий раздел по формам
Автор: Alexander Sayenkow от 20.02.2004 23:32:33 Источник ...
 15.06.2007 21:08:06
Alexander1
23 сообщения


RE: Dropdown
' Хорошая штука..
' Может еще кому сгодиться.
Option Compare Database
Option Explicit
Type PointApi
x As Long
y As Long
End Type

Type Rect
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Const GW_CHILD = 5
Private Const GWL_STYLE = (-16)
Private Const WS_VISIBLE = True

Declare Function apiFindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Declare Function apiGetParent Lib "user32" Alias "GetParent" ( _
ByVal hwin&) As Long
Declare Function apiGetWindow Lib "user32" Alias "GetWindow" ( _
ByVal hwnd As Long, _
ByVal wCmd As Long) As Long
Declare Function apiGetClassName Lib "user32" Alias "GetClassNameA" ( _
ByVal hwin&, _
ByVal stBuf$, _
ByVal cch&) As Long
Declare Function apiGetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long) As Long


Function IsComboOpen() As Boolean
Static hwnd As Long, hWndCBX_LBX As Long
Static rct As Rect, pnt As PointApi

hwnd = apiFindWindow("ODCombo", vbNullString)
If apiGetParent(hwnd) <> hWndAccessApp Then Exit Function

hWndCBX_LBX = apiGetWindow(hwnd, GW_CHILD)
If GetWindowClass(hWndCBX_LBX) = "OGrid" Then
If apiGetWindowLong(hwnd, GWL_STYLE) And WS_VISIBLE Then
IsComboOpen = True
End If
End If

End Function

Private Function GetWindowClass(hwnd As Long) As String
Const cchMax = 255
Dim stBuff As String * cchMax
Dim cch As Long
cch = apiGetClassName(hwnd, stBuff, cchMax)
If (hwnd = 0) Then
GetWindowClass = ""
Else
GetWindowClass = Left(stBuff, cch)
End If
End Function



P.S. Общий раздел по формам
Автор: Alexander от 21.02.2004 1:27:34 Источник ...
 15.06.2007 21:08:06
Alexander1
23 сообщения


RE: Dropdown
Сорри
Private Const WS_VISIBLE = &H10000000


P.S. Общий раздел по формам
Автор: Alexander от 22.02.2004 4:14:07 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Dropdown...
ПоискПоиск  Список форумовСписок форумов  
right