Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |  |  |  |  |  |  |
Вот сволочи! :) 24.01.07 14:20 Число просмотров: 2384
Автор: Fighter <Vladimir> Статус: Elderman
|
|
<programming>
|
IE, запущенный как windowed COM control, крадёт фокус ввода после обновление контента. 18.01.07 09:30
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 23.01.07 07:45 Количество правок: 2
|
На форме есть, скажем, ListView и IEBrowse, олицетворение IE как COM элемента управления. И вот, при выделении элемента списк ListView, браузеру делаем Docement.Close; Document.Write ''; и прочее, кидаемся в него строками нужного HTML кода. 10 строк, без наворотов.
Фсио, фокус ушуршал с ListView в IE. Причём такое происходит только после того, если ходя бы раз IE получал фокус ввода. Т.е. только запустив приложение, и "ходя" по ListView, всё чудесно, IE обновляет контент, но фокус не крадёт. Стоит только кликнуть по IE, а потом опять по ListView, как начинается такое его мерзкое поведение.
Ковыряние параметров контейнера и всего того, что доступно по lDispatch, ничего не дало. Это можно отключить методами IE? Запоминание элемента управления, имеющего фокус ввода, и последующее возвращение фокуса после обновления контента не кажется мне изящным решением.
Заранее всем огромное спасибо.
|
 |
А поче му бы и нет? Может и не изящно, но действенно. Тем... 18.01.07 14:12
Автор: Fighter <Vladimir> Статус: Elderman Отредактировано 18.01.07 14:14 Количество правок: 1
|
> На форме есть, скажем, ListView и IEBrowse, олицетворение > IE как COM элемента управления. И вот, при выделении > элемента списк ListView, браузеру делаем Docement.Close; > Document.Write ''; и прочее, кидаемся в него строками > нужного HTML кода. 10 строк, без наворотов. > > Фсио, фокус ушуршал с ListView в IE. Причём такое > происходит только после того, если ходя бы раз IE получал > фокус ввода. Т.е. только запустив приложение, и "ходя" по > ListView, всё чудесно, IE обновляет контент, но фокус не > крадёт. Стоит только кликнуть по IE, а потом опять по > ListView, как начинается такое его мерзкое поведение. > > Ковыряние параметров контейнера и всего того, что доступно > по lDispatch, ничего не дало. Это можно отключить методами > IE? Запоминание элемента управления, имеющего фокус ввода, > и последующее возвращение фокуса после обновления контента > не кажется мне изящным решением. > А почему бы и нет? Может и неизящно, но действенно. Тем более мне почему-то кажется, что с IE так и происходит. Сделано, например, шоб пользователь мог без лишнего клацанья прокручивать его содержимое.
> Заранее всем огромное спасибо.
|
 |  |
Вчера обошёл потерю фокуса своим костылём, о котором говорили. Не понравилось мерцание. 21.01.07 11:58
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 21.01.07 11:59 Количество правок: 2
|
|
 |  |  |
А с таким костылем по другому и не будет. Кстати, а что IE при создании и получении/потере фокуса делает неизвестно? 22.01.07 11:42
Автор: Fighter <Vladimir> Статус: Elderman
|
|
 |  |  |  |
Через sink интерфейс ловлю событие controlPropertyChanged(ReadyState). 23.01.07 07:19
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 23.01.07 07:27 Количество правок: 2
|
В нормальном состоянии (документ загружен, браузер отдыхает) он равен 3. Когда меняется на 4, (после document.close), запоминаю имеющий фокус контрол для восстановления. Когда снова поменяется на 3, восстанавливаю фокус.
|
 |  |  |  |  |
Я имел в виду сам объект, без костыля. 23.01.07 11:45
Автор: Fighter <Vladimir> Статус: Elderman
|
|
 |  |  |  |  |  |
Я не знаю что он делает, M$ исходники IE6 не даёт ;-) 24.01.07 07:17
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
 |  |  |  |  |  |  |
Вот сволочи! :) 24.01.07 14:20
Автор: Fighter <Vladimir> Статус: Elderman
|
|
 |  |
И ишшо. Может путаю, но где-то в Делфи мне попадалось св-во "ПредохранятьОтПотериФокуса". Может это тот случай? 18.01.07 18:51
Автор: Fighter <Vladimir> Статус: Elderman Отредактировано 18.01.07 18:59 Количество правок: 1
|
|
 |  |  |
Я не встречал... Ну и ладно, буду бороться с фокусом "в лоб". Тогда ещё вот такой вопрос: знаю, что IE можно перевести в режим... редактирования! ;-) Возможно моей софтине это понадобится, там нужно править юзерам HTML. Дык вот,... 19.01.07 07:09
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 19.01.07 07:28 Количество правок: 3
|
Subj, может ли IE выводить какой-нить свой кошерный тулбар для управления размером и начертанием шрифта, цвета, абзацев и проч. И если да, то как это сделать.
Заранее ещё раз всем спасибо.
|
 |  |  |  |
[Win32] Я не встречал... Ну и ладно, буду бороться с фокусом "в лоб". Тогда ещё вот такой вопрос: знаю, что IE можно перевести в режим... редактирования! ;-) Возможно моей софтине это понадобится, там нужно править юзерам HTML. Дык вот,... 20.01.07 01:01
Автор: + <Mikhail> Статус: Elderman
|
> Subj, может ли IE выводить какой-нить свой кошерный тулбар > для управления размером и начертанием шрифта, цвета, > абзацев и проч. И если да, то как это сделать. > > Заранее ещё раз всем спасибо. Browser Extensions
Browser Extensions
|
 |  |  |  |  |
Неа, не то! Я уже нашёл примеры на M$ — Dhtml Edit Sample называется. 21.01.07 11:57
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
|
|