Страница: 1 |
Страница: 1 |
Вопрос: ComboBox + axWebBrowser
Добавлено: 20.08.05 19:12
Автор вопроса: Ruslan_x
Ситуация:
На форме есть ComboBox, а под ним - контрол axWebBrowser.
Активен ComboBox, т.е. в нем находится курсор для ввода текста.
Задача:
Отловить нажатие Ctrl+F, и вызвать окошко "Find" в axWebBrowser'е.
Этого же можно добиться, если просто кликнуть мышкой в тело axWebBrowser и нажать Ctrl+F. Но фишка в том, чтобы сделать это прямо из ComboBox.
Это вообще реально? А то я уже себе мозги сломал....
Как всегда, буду признателен за ответ.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 20.08.05 23:11
Private Sub Combo1_KeyPress(KeyAscii As Integer)
MsgBox KeyAscii
End Sub
если просто F то возвращает 102, если Ctrl+F тогда 6...
итак в Combo1_KeyPress
if KeyAscii = 6 then 'Нажали Ctrl+F
WebBrowser1.SetFocus 'Установили на него фокус
SendKeys vbKeyControl + vbKeyF 'Нажали на кнопку
end if
токо тут одна трабла...
ты говорил что,
так вот у меня неполучилось вызвать Find окошко не программно, не если самому кликнуть в тело и нажать Ctrl + f ...
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 20.08.05 23:26
мда... прошу прощения, перепутал с vb6.
Номер ответа: 3
Автор ответа:
Ruslan_x
Вопросов: 7
Ответов: 41
Профиль | | #3
Добавлено: 21.08.05 16:50
Должно работать, но не работает!!
Вот смотрите, берете пустую форму, кидаете на нее axWebBrowser1. При загрузке формы пусть какая-нибудь длинная страница загружается в axWebBrowser1:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.AxWebBrowser1.Navigate("C:\j.htm"
End Sub
И пусть еще на форме будет кнопка Button1, с помощью которой протестируем обращение к axWebBrowser1:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.AxWebBrowser1.Focus()
SendKeys.Send("{down}"
End Sub
Что должно происходить в теории?
При загрузке формы загружается длинная страница в AxWebBrowser1. И при нажатии на кнопку Button1 страница в браузере должна понемногу сдвигаться вниз (скроллинг), как будто мы нажимаем курсор вниз.
Попробуйте - это не работает!!! По крайней мере у меня на VB.NET 2003.
Однако стоит лишь раз кликнуть мышкой в AxWebBrowser1, как все начинает работать... Похоже проблема с тем, как установить фокус на AxWebBrowser1.
При отладке эта функция - Me.AxWebBrowser1.Focus() - возвращает False.
В чем тут собака зарыта? Как заставить работать SendKeys с самого начала?
Номер ответа: 4
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #4
Добавлено: 22.08.05 00:14
я хоть и не нетчик, но мне кажется что ты неправельно обращаешся к Me.AxWebBrowser1.Focus() или забываешь что-то передать, отвинта она бы false не возвращала