информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Вот сволочи! :) 24.01.07 14:20  Число просмотров: 2442
Автор: 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
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach