Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

CppWebBrowser

60K
20 июля 2010 года
Hellsing_Alucard
7 / / 20.07.2010
Привет всем !
Можно ли получить доступ к объекту DIV TCppWebBrowser (DOM) используя не Name IHtmlElement а ID html-объекта.
Компилятор: C++Builder 2009
Заранее спасибо, Hellsing_Alucard
14
21 июля 2010 года
Phodopus
3.3K / / 19.06.2008
Используя Name умеете? Приведите пример кода.
60K
21 июля 2010 года
Hellsing_Alucard
7 / / 20.07.2010
Код:
AnsiString Name="mydiv";
  String Data="Ints eyse";
  TComInterface<IHTMLDocument2> pDocument;
  WB->Document->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&pDocument);
  if( pDocument )
  {
  TComInterface<IHTMLElementCollection> pCollection;
  pDocument->get_all(&pCollection);
  if( pCollection )
  {
  TComInterface<IDispatch> pDisp;
  pCollection->item(TVariant(WideString(Name)), TVariant(0), &pDisp);
  if( pDisp )
  {
  TComInterface<IHTMLElement> pElement;

  pDisp->QueryInterface(IID_IHTMLElement, (LPVOID*)&pElement);
  pDisp->QueryInterface(IID_IHTMLElement, (LPVOID*)&pElement2);
  if( pElement )
  pElement->put_innerText(Data.w_str() );
  }
  }
  }

Вот я что-то написал примерное. Код изменяет содержимое DIV, но работает, если DIV содержит элементы (
14
21 июля 2010 года
Phodopus
3.3K / / 19.06.2008
[COLOR="Blue"]IHTMLDocument3::getElementById()[/COLOR] посмотрите.
Пустой DIV теоретически может и не создаться (хотя я в этом мало разбираюсь).
60K
21 июля 2010 года
Hellsing_Alucard
7 / / 20.07.2010
Цитата:
[BCC32 Error] Main.cpp(82): E2316 'getElementById' is not a member of 'IHTMLElement3'


А как получить к нему доступ ?

14
22 июля 2010 года
Phodopus
3.3K / / 19.06.2008
Показывайте код, вызывающий ошибку, целиком.
60K
22 июля 2010 года
Hellsing_Alucard
7 / / 20.07.2010
ну я впринципе не знал как, потому му что getelementbyid я увидел только в MSDN и из JavaScript, но пытался так:
Цитата:

AnsiString Name="mydiv";
String Data="Ints eyse";
TComInterface<IHTMLDocument2> pDocument;
WB->Document->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&pDocument);
if( pDocument )
{
TComInterface<IHTMLElementCollection> pCollection;
pDocument->get_all(&pCollection);
if( pCollection )
{
TComInterface<IDispatch> pDisp;
pCollection->item(TVariant(WideString(Name)), TVariant(0), &pDisp);
if( pDisp )
{
TComInterface<IHTMLElement> pElement;
TComInterface<IHTMLElement3> pMyDoc;
HRESULT hr = pDisp->QueryInterface(IID_IHTMLDocument3, (LPVOID*)&pMyDoc);
if (SUCCEEDED(hr))
{
hr = pMyDoc->getElementById(CComBSTR(szId), pElem);
}
}
}

14
22 июля 2010 года
Phodopus
3.3K / / 19.06.2008
Какой еще IHTMLElement3? Будьте предельно внимательны.
60K
22 июля 2010 года
Hellsing_Alucard
7 / / 20.07.2010
:D :D совсем я плохой... спасибо )
60K
12 августа 2010 года
Hellsing_Alucard
7 / / 20.07.2010
Цитата:
Memo1->Clear();
String Id="userlinks";
TComInterface<IHTMLDocument2> pDocument;
WB->Document->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&pDocument);
if( pDocument )
{
TComInterface<IHTMLElementCollection> pCollection;
pDocument->get_all(&pCollection);
if( pCollection )
{
TComInterface<IHTMLElement> pElement;
TComInterface<IHTMLDocument3>pMyDoc;
HRESULT hr = WB->Document->QueryInterface( IID_IHTMLDocument3, (LPVOID*)&pMyDoc);
if (SUCCEEDED(hr))
{
hr = pMyDoc->getElementById(Id.w_str(),&pElement);
ShowMessage(hr);
}
}
}


Итоговый рабочий вариант

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог