Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Sendkeys дочернему окну / 7 сообщений из 7, страница 1 из 1
02.03.2010, 15:21
    #36497370
cadrus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sendkeys дочернему окну
Делаю AppActivate, главное окно активируется, но нужно послать клавишу именно дочернему. Т.е. если кликнуть по нужному окну, затем выполнить процедуру, то срабатывает. Если кликнуть по другому дочернему окну и потом запустить процедуру, то не работает. Putfocus не помогло.

Private Sub Command6_Click()
AppActivate ("Instant hand history")
Putfocus ListHwnd
SendKeys "{DOWN}"
End Sub
...
Рейтинг: 0 / 0
02.03.2010, 15:24
    #36497383
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sendkeys дочернему окну
попробуй TAB-ом прокрутить контролы до нужного на твоей открытой форме
...
Рейтинг: 0 / 0
02.03.2010, 15:47
    #36497512
cadrus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sendkeys дочернему окну
а как я узнаю, что я на нем нахожусь?
...
Рейтинг: 0 / 0
02.03.2010, 16:04
    #36497601
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sendkeys дочернему окну
по классу окна
...
Рейтинг: 0 / 0
02.03.2010, 16:32
    #36497690
cadrus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sendkeys дочернему окну
прошу прощения, наверное я не совсем правильно понял:

прокрутить контролы TAB-ом - значит послать родителю нажатие на TAB?

какой функцией вернуть окно, на котором мы будем находиться при каждом шаге прокрутки?
...
Рейтинг: 0 / 0
02.03.2010, 16:52
    #36497770
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sendkeys дочернему окну
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" ( _
ByVal hwnd As Long, _
ByVal lpClassName As String, _
ByVal nMaxCount As Long) As Long

Public Function FindClassByHwnd(ByVal hwnd As Long)
Buffer = Space(256)
ClassLength = GetClassName(hwnd, Buffer, 256)
FindClassByHwnd = Left(Buffer, ClassLength)
End Function

Dim hwnd as Long
Dim sClass as String

hwnd=GetFocus()
sClass = FindClassByHwnd(hwnd)
if sClass="MyClass" Then
Debug.Print "Нашли окошко"
end if
...
Рейтинг: 0 / 0
02.03.2010, 17:37
    #36497912
cadrus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sendkeys дочернему окну
Спасибо, похоже, это то, что нужно, попробую.

Здесь, наверное, не нужно искать класс окна, т.к. hwnd его известно (ListHwnd в первом посте), и по GetFocus уже можно определить окно.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Sendkeys дочернему окну / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]