У меня возникла задача перехватить нажатие клавиш в поле ввода текста, и сравнить с определенной строкой, и по результатам сравнения выполнить какие-то действия. Так вот я не понимаю, как мне обрабатывать события onkeypress для определенного текстового поля. Как я действую — получаю коллекцию всех элементов, получаю tagName для каждого, если input и name если "url", то я должен поставить обработчик события onkeypress. Но не знаю как

Почитал статью на мсдн про написание BHO для ИЕ, там ничего такого нет. Если не затруднит, подскажите пожалуйста или бросьте ссылочку что почитать.
Здравствуйте, jerkman, Вы писали:
J>У меня возникла задача перехватить нажатие клавиш в поле ввода текста, и сравнить с определенной строкой, и по результатам сравнения выполнить какие-то действия. Так вот я не понимаю, как мне обрабатывать события onkeypress для определенного текстового поля. Как я действую — получаю коллекцию всех элементов, получаю tagName для каждого, если input и name если "url", то я должен поставить обработчик события onkeypress. Но не знаю как
Почитал статью на мсдн про написание BHO для ИЕ, там ничего такого нет. Если не затруднит, подскажите пожалуйста или бросьте ссылочку что почитать.
1) Почитайте
етоАвтор: mager
Дата: 29.02.08
...
Разберетесь, пишите, пойдем дальше
Здравствуйте, Mager, Вы писали:
M>1) Почитайте етоАвтор: mager
Дата: 29.02.08
...
M>Разберетесь, пишите, пойдем дальше
А могу ли я отлавливать события таким вот образом:
STDMETHODIMP CEventSink::Invoke(
DISPID dispidMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS* pdispparams,
VARIANT* pvarResult,
EXCEPINFO* pexcepinfo,
UINT* puArgErr)
{
switch ( dispidMember )
{
case DISPID_HTMLELEMENTEVENTS2_ONCLICK:
OnKeyPress();
break;
default:
break;
}
return S_OK;
}
?
Здравствуйте, jerkman, Вы писали:
J>сорри, DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS
Да, но сначала(Вы наверное, знаете), нужно вызвать
HRESULT hRet = IDispEventSimpleImpl<_nDocID, CBrowserView, &DIID_HTMLDocumentEvents2>::
DispEventAdvise(m_spDocument, &DIID_HTMLDocumentEvents2);
Здравствуйте, Mager, Вы писали:
M>Здравствуйте, jerkman, Вы писали:
J>>сорри, DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS
M>Да, но сначала(Вы наверное, знаете), нужно вызвать
M>M>HRESULT hRet = IDispEventSimpleImpl<_nDocID, CBrowserView, &DIID_HTMLDocumentEvents2>::
M>DispEventAdvise(m_spDocument, &DIID_HTMLDocumentEvents2);
M>
спасибо за помощь