Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.224.73.97] |
|
Сообщ.
#1
,
|
|
|
Как сделать, чтобы после .Navigate WB не получал фокус? Возврат фокуса в WB_GotFocus кривое решение...
|
Сообщ.
#2
,
|
|
|
WB.Enabled = False ? |
Сообщ.
#3
,
|
|
|
нет у него Enabled
|
Сообщ.
#4
,
|
|
|
Ну попробуй для начала разобраться, как и когда на него попадает фокус. Вариантов, в общем, два - либо .Navigate переводит на него фокус в качестве дополнительного бонуса, либо сам WB забирает себе фокус после, например, завершения загрузки страницы. В первом случае после выполнения метода можно попробовать принудительно поставит фокус на нужный контрол. Во втором - хрен ты чего сделаешь, чтобы тебе не казалось криво.
|
Сообщ.
#5
,
|
|
|
Private Sub Command1_Click() WebBrowser1.Navigate2 "www.google.ru" Debug.Print "WebBrowser1.Navigate2" End Sub Private Sub Text1_LostFocus() Debug.Print "Text1_LostFocus" End Sub Private Sub WebBrowser1_GotFocus() Debug.Print "WebBrowser1_GotFocus" End Sub Вывод: Text1_LostFocus WebBrowser1.Navigate2 WebBrowser1_GotFocus Текстовое поле теряет фокус ещё до завершения .Navigate2. Я думал, может в самом Navigate2 есть флаги, указывающие на то, что фокус не следует отбирать, или что-то в свойствах WB... Кинул WB во фрейм с .Enabled = False - не помогло. |
Сообщ.
#6
,
|
|
|
Цитата BlackSun @ Текстовое поле теряет фокус ещё до завершения .Navigate2. Ясен палец - он же улетает на Command1... надо не по батону запускать, а по таймеру. |
Сообщ.
#7
,
|
|
|
Не знаю как в васике но у стандартного компонента есть метод OnDownloadComplete, повесь на его вызов Text1.SetFocus
|
Сообщ.
#8
,
|
|
|
Akina, я реально тупанул )
С таймером: Private Sub Text1_LostFocus() Debug.Print "Text1_LostFocus" End Sub Private Sub Timer1_Timer() Timer1.Interval = 0 WebBrowser1.Navigate2 "www.google.ru" Debug.Print "WebBrowser1.Navigate2" End Sub Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Debug.Print "WebBrowser1_DocumentComplete" End Sub Private Sub WebBrowser1_GotFocus() Debug.Print "WebBrowser1_GotFocus" End Sub WebBrowser1.Navigate2 WebBrowser1_DocumentComplete Text1_LostFocus WebBrowser1_GotFocus Что интересно, если WB лежит в отключенном фрейме, то в текстовом каретка мигает и можно вводить, но клавиша Backspace не работает и клавиши стрелок вправо-влево работают глючно. В целом имеем баговый ввод в текстовом ) |
Сообщ.
#9
,
|
|
|
Именно баги отображения текста и каретки в TextBox и заставили создать эту тему. Решение пока не найдено, ибо неизвестно, где был фокус до отнимания его браузером.
|
Сообщ.
#10
,
|
|
|
Цитата BlackSun @ ибо неизвестно, где был фокус до отнимания его браузером Ну, еще как вариант, сделать внутри проги свой "менеджер фокусов", в котором и хранить на каком же элементе сейчас фокус был, чтобы вернуть его туда обратно. |