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

Ваш аккаунт

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

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

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

new

3.0K
06 июня 2006 года
Inga
79 / / 27.12.2005
Мне нужен динамически созданный CppWebBrowser на всю форму, но он у меня появляется в влевом верхнем углу монитора маленьким квадратом, а не на главной форме на всю ее поверхность? Что исправить?

TCppWebBrowser *CppWebBrowser1;
CppWebBrowser1 = new TCppWebBrowser(HTMLForm); //HTMLForm имя формы
CppWebBrowser1->ParentWindow = HTMLForm;
CppWebBrowser1->Align = alClient;
CppWebBrowser1->Visible=true;

P.S.

Еще у меня после строк:
TCppWebBrowser *CppWebBrowser1;
CppWebBrowser1 = new TCppWebBrowser(HTMLForm); //HTMLForm имя формы
CppWebBrowser1->ParentWindow = HTMLForm;
CppWebBrowser1->Align = alClient;
CppWebBrowser1->Visible=true;

В этом же коде есть ниже две строки которые, касаются CppWebBrowser1:
CppWebBrowser1->Navigate(WideString("C:\\html\\123.html"));
CppWebBrowser1->ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT);//появляется окно сохранения

Это весь код в приложении который имеет отношение к CppWebBrowser.

Не понятно почему он появляется в левом верхнем углу монитора.
9.4K
06 июня 2006 года
_nоrth_
99 / / 24.04.2006
 
Код:
TCppWebBrowser *CppWebBrowser1;
CppWebBrowser1 = new TCppWebBrowser(this); //HTMLForm имя формы
[color=red]CppWebBrowser1->TControl::Parent=this;[/color]
CppWebBrowser1->ParentWindow = this;
CppWebBrowser1->Align = alClient;
CppWebBrowser1->Visible=true;
3.0K
06 июня 2006 года
Inga
79 / / 27.12.2005
Cпасибо. Но есть вопросы: если писать this то не компилируется, а если написать так:
TCppWebBrowser *CppWebBrowser1;
CppWebBrowser1 = new TCppWebBrowser(HTMLForm); //HTMLForm èìÿ ôîðìû
CppWebBrowser1->TControl::Parent=HTMLForm;
CppWebBrowser1->ParentWindow = HTMLForm;
CppWebBrowser1->Align = alClient;
CppWebBrowser1->Visible=true;
То CppWebBrowser1 появляется как и положено на всю форму, но ровно через секунду становиться не видимым. :eek:
9.4K
06 июня 2006 года
_nоrth_
99 / / 24.04.2006
[QUOTE=Inga]Cпасибо. Но есть вопросы: если писать this то не компилируется, а если написать так:
TCppWebBrowser *CppWebBrowser1;
CppWebBrowser1 = new TCppWebBrowser(HTMLForm); //HTMLForm èìÿ ôîðìû
CppWebBrowser1->TControl::Parent=HTMLForm;
CppWebBrowser1->ParentWindow = HTMLForm;
CppWebBrowser1->Align = alClient;
CppWebBrowser1->Visible=true;
То CppWebBrowser1 появляется как и положено на всю форму, но ровно через секунду становиться не видимым. :eek:[/QUOTE]
Наверно компилятор сообщает, почему не компилируется.

Если вместо This написать имя формы, то у меня тоже работает .
3.0K
06 июня 2006 года
Inga
79 / / 27.12.2005
[FONT=Times New Roman][SIZE=3]Для полной ясности привожу весь свой код. Если будет, у кого-то время, посмотрите, пожалуйста, и ответьте на пару вопросов. Основная мысль транслировать форму в html формат и при этом НЕ ПОКАЗЫВАТЬ [FONT=Verdana][SIZE=2]CppWebBrowser, а сразу показать диалоговое окно сохранения в html. CppWebBrowser нужен для закулисной работы. [/SIZE][/FONT]Все это перенесла на другой компьютер и вот такие результаты:[/SIZE][/FONT]
Код:
THTMLForm *HTMLForm;
TCppWebBrowser *CppWebBrowser1;
//---------------------------------------------------------------------------
__fastcall THTMLForm::THTMLForm(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void OnCreateHTMLDocument()
{
CppWebBrowser1 = new TCppWebBrowser(HTMLForm); //HTMLForm имя формы
CppWebBrowser1->TControl::Parent=HTMLForm;
CppWebBrowser1->Visible = false;//не работает
CppWebBrowser1->Hide();
 HTMLForm->ProgressBar1->Min = 0;
 HTMLForm->ProgressBar1->Max = HTMLForm->ComponentCount;
 HTMLForm->ProgressBar1->Position = 0;
 HTMLForm->ListBox1->Clear();
 //подготовка динамической html страницы
 HTMLForm->ListBox1->Items->Add("<!DOCTYPE ........itional//EN\">");
 HTMLForm->ListBox1->Items->Add("<html>");
 HTMLForm->ListBox1->Items->Add("<head>");
 HTMLForm->ListBox1->Items->Add("<title>Отчет</title>");
 HTMLForm->ListBox1->Items->Add("</head>");
 HTMLForm->ListBox1->Items->Add("<body>");
 HTMLForm->ListBox1->Items->Add("<table border=\"1\" bgcolor=\"#ccffcc\">");
 //width=\"750\"
 //код ниже отвечает за содержимое тега table в коде страницы html
 int Index = 1;
 AnsiString S = "";
 AnsiString S2 = "";
 HTMLForm->ProgressBar1->Visible = true;
 for(int i=0; i<HTMLForm->ComponentCount; i++)
 {
   HTMLForm->ProgressBar1->Position = HTMLForm->ProgressBar1->Position + 1;
   TImage * IsImage = dynamic_cast<TImage *>(HTMLForm->Components);
     if(IsImage)
      {
      IsImage->Picture->SaveToFile("C:\\html\\Images\\Image" + IntToStr(i) + ".bmp");
      HTMLForm->ListBox1->Items->Add("<tr>");
      HTMLForm->ListBox1->Items->Add("<td>");
      S = "<img src=\"C:\\html\\Images\\Image" + IntToStr(i) +  ".bmp" + "\" alt=\"\">";
      HTMLForm->ListBox1->Items->Add(S);
      HTMLForm->ListBox1->Items->Add("</td>");
      HTMLForm->ListBox1->Items->Add("<td>");
       for(int i=0; i<HTMLForm->ComponentCount; i++)
        {
         TLabel * IsLabel = dynamic_cast<TLabel *>(HTMLForm->Components);
         if(IsLabel)
          {
             if(HTMLForm->Components->Name == "Label" + IntToStr(Index))
               {
                TLabel * Temp = (TLabel *)HTMLForm->Components;
                HTMLForm->ListBox1->Items->Add(Temp->Caption);
                break;
               }
          }
        }
      HTMLForm->ListBox1->Items->Add("</td>");
      HTMLForm->ListBox1->Items->Add("</tr>");
      Index ++;
      }
 }
 HTMLForm->ListBox1->Items->Add("</table>");
 HTMLForm->ListBox1->Items->Add("</body>");
 HTMLForm->ListBox1->Items->Add("</html>"); //динамическая html страница сформирована
 
 HTMLForm->ListBox1->Items->SaveToFile("отчет.html");
 CppWebBrowser1->Navigate(WideString("C:\\html\\отчет.html"));
 Application->ProcessMessages();
 CppWebBrowser1->ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT);
 HTMLForm->ProgressBar1->Visible = false;
 HTMLForm->ProgressBar1->Position = 0;
 delete CppWebBrowser1;
 
}
 
 
void __fastcall THTMLForm::Button1Click(TObject *Sender)
{
 OnCreateHTMLDocument();
}

[FONT=Times New Roman][SIZE=3]В итоге я получаю нужную мне html страницу после сохранения в диалоговом окне [FONT=Verdana][SIZE=2]ExecWB[/SIZE][/FONT]. Я дальше планирую и ListBox сделать динамическим.[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]Вопросы:[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]1. Мне пришлось вставить оператор Application->ProcessMessages(); иначе диалоговое окно сохранения CppWebBrowser1->ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT); не появлялось. Почему?[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]2. Почему в момент вызова оператора new для CppWebBrowser на секунду в углу формы, CppWebBrowser пытается появиться и тем самым создает не красивый эффект на 1-2 секунды (см. рисунок). Потом он пропадает, но это не красиво. Как это избежать, что надо добавить в моент создания CppWebBrowser?[/SIZE][/FONT]
246
07 июня 2006 года
GIZMO
1.8K / / 30.07.2004
[QUOTE=_nоrth_]
 
Код:
TCppWebBrowser *CppWebBrowser1;
CppWebBrowser1 = new TCppWebBrowser(this); //HTMLForm имя формы
[color=red]CppWebBrowser1->TControl::Parent=this;[/color]
CppWebBrowser1->ParentWindow = this;
CppWebBrowser1->Align = alClient;
CppWebBrowser1->Visible=true;
[/QUOTE]
CppWebBrowser1->ParentWindow = this;
^^^^^^^^^^^^^^^^^^^^^^^^
ЖжОшь!

правильный ответ ушел в FAQ's.
9.4K
07 июня 2006 года
_nоrth_
99 / / 24.04.2006
[QUOTE=GIZMO]CppWebBrowser1->ParentWindow = this;
^^^^^^^^^^^^^^^^^^^^^^^^
ЖжОшь!

правильный ответ ушел в FAQ's.[/QUOTE]
"Setting ParentWindow has no effect if Parent is not NULL."
И??? Сразу жжошь??? :D

Вопросом было: "Основная мысль транслировать форму в html формат и при этом [color=red]НЕ ПОКАЗЫВАТЬ[/color] CppWebBrowser, а сразу показать диалоговое окно сохранения в html."
 
Код:
void OnCreateHTMLDocument()
{
  CppWebBrowser1 = new TCppWebBrowser(HTMLForm); //HTMLForm имя формы
  CppWebBrowser1->Hide();
  CppWebBrowser1->[color=red]TControl[/color]::Parent=HTMLForm;
...

this, не проходит, потому что ф-ия OnCreateHTMLDocument() не принадлежит к классу THTMLForm.

P.S. Что за FAQ? Собрание сочинений супер пупер программиста GIZMO?
Жжошшь! :D
1
07 июня 2006 года
kot_
7.3K / / 20.01.2000
За свой пост получаешь награду заслуженную - предупреждение. Прежде чем оставлять свое сообщение стоит ознакомится с FAQ.
Инге рекомендую все ж прочесть по ссылке которую я дал и не поленится и поискать на сайте ( я имею ввиду rsdn.ru) - тема упаковки, чтения и сохранения там рассматривается достаточно подробно - можно найти как работать с данным форматом, чем он отличается и т.д. Я к сожалению таких задач пока не имею и данный формат не использую - потому и код не привожу - тестить мне его сейчас некогда.
3.0K
07 июня 2006 года
Inga
79 / / 27.12.2005
>прочесть по ссылке которую я дал и не поленится и поискать на сайте

Я уже опредилилась - оставляю этот код (см.выше) в своем приложении, он полность рабочий. Остался вопрос не красивого эффекта при попытке создать CppWebBrowser через new. Попробую сделать метод OnCreateHTMLDocument() методом формы - вдруг поможет. :rolleyes:
9.4K
07 июня 2006 года
_nоrth_
99 / / 24.04.2006
Чтоб не было эффекта, нужно сделать CppWebBrowser невидимым перед его добавлением на форму.
 
Код:
void OnCreateHTMLDocument()
{
  CppWebBrowser1 = new TCppWebBrowser(HTMLForm); //HTMLForm имя формы
  CppWebBrowser1->Hide();
  CppWebBrowser1->TControl::Parent=HTMLForm;
...
...
3.0K
07 июня 2006 года
Inga
79 / / 27.12.2005
Я пробывала CppWebBrowser1->Hide(); поставить выше, но почему-то после этого не срабатывает оператор внизу кода:
CppWebBrowser1->ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT);
и соотвественно не появляется диалоговое окно сохранения.:(
В абсолютно чистом проекте мелькание можно заметить лишь быстро, часто и много нажимая на Button (код ниже), но в моем приложении видно сильнее, так-как в углу еще и картинка находиться.
Код:
[COLOR=green]#include <vcl.h>
[/COLOR][COLOR=green]#pragma hdrstop
[/COLOR]
[COLOR=green]#include "Unit1.h"
[/COLOR][COLOR=green]//---------------------------------------------------------------------------
[/COLOR][COLOR=green]#pragma package(smart_init)
[/COLOR][COLOR=green]#pragma link "SHDocVw_OCX"
[/COLOR][COLOR=green]#pragma resource "*.dfm"
[/COLOR]TForm1 *Form1;
TCppWebBrowser *CppWebBrowser1;
 
[COLOR=green]//---------------------------------------------------------------------------
[/COLOR]__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
[COLOR=green]//---------------------------------------------------------------------------
[/COLOR]
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
CppWebBrowser1 = new TCppWebBrowser(Form1);
CppWebBrowser1->TControl::Parent=Form1;
CppWebBrowser1->Visible = false;
CppWebBrowser1->Hide();
delete  CppWebBrowser1;
}
246
07 июня 2006 года
GIZMO
1.8K / / 30.07.2004
[QUOTE=_nоrth_]"Setting ParentWindow has no effect if Parent is not NULL."
И??? Сразу жжошь??? :D[/QUOTE]
Ага!:)

 
Код:
/*1*/ TCppWebBrowser *CppWebBrowser1;
/*2*/ CppWebBrowser1 = new TCppWebBrowser(this); //HTMLForm имя формы
/*3*/ [color=red]CppWebBrowser1->TControl::Parent=this;[/color]
/*4*/ CppWebBrowser1->ParentWindow = this;
/*5*/ CppWebBrowser1->Align = alClient;
/*6*/ CppWebBrowser1->Visible=true;

Строка /*3*/ выделенна красным - правильно, там 2-е ошибки:
1 - Ты уже сам понял, что никаго this в функции кот. не является членом класса нет. Тоже в строке /*2*/.
2 - TControl::Parent - это не тот "парент". У CppWebBrowser контейнер TOLEControl вот его парент и нужно выставлять. Отсюда и появляются странные визуальные эффекты.
Строка ниже:
 
Код:
CppWebBrowser1->ParentWindow = this

Таже фигня (this) + пытаемся присвоить св-ву ParentWindow имеющему тип HWND указатель типа THTMLForm. Возможно у формы есть оператор преобразования в HWND, но я бы написал ... = this->Handle;
Строка /*6*/, - почему не работает св-во visible?:(. См. 3-2.

[QUOTE=_nоrth_]
P.S. Что за FAQ? Собрание сочинений супер пупер программиста GIZMO?
Жжошшь! :D[/QUOTE]
Если читал, то видно, что там не только мои ответы.
Кстати я не программист, я даже не "продвинутый пользователь".
246
07 июня 2006 года
GIZMO
1.8K / / 30.07.2004
[QUOTE=Inga]Я пробывала CppWebBrowser1->Hide(); поставить выше, но почему-то после этого не срабатывает оператор внизу кода:
[/QUOTE]
Вот еще нашел:
http://www.rsdn.ru/Forum/?mid=1592204
3.0K
07 июня 2006 года
Inga
79 / / 27.12.2005
>Вот еще нашел:

До этой ссылки я еще не доросла. :)
Там методы с использованием COM - технологий, слабо разбираюсь.;)

Я уже не много запуталась с этими [COLOR=#ff0000]Parent - ми :) [/COLOR]

Я так поняла, что от визуального эффекта я не отделаюсь? Как лучше посупить в моем случае? Может использовать более старый компонент THTML? А есть у него диалоговое окно сохранения в mht?
В книге Калверта описано как его установить в Builder 6, где он по умолчанию отсуствует.
9.4K
07 июня 2006 года
_nоrth_
99 / / 24.04.2006
[QUOTE=Inga]Я пробывала CppWebBrowser1->Hide(); поставить выше, но почему-то после этого не срабатывает оператор внизу кода:
CppWebBrowser1->ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT);
и соотвественно не появляется диалоговое окно сохранения.:(
[/QUOTE]
1. В *.h модуле в объявлении формы после ключевого слова private: написать
 
Код:
TCppWebBrowser *CppWebBrowser1;
        IDispatch *CurDispatch;
        void __fastcall CppWebBrowser1DocumentComplete(TObject *Sender, IDispatch *pDisp, tagVARIANT *);
        void __fastcall CppWebBrowser1NavigateComplete2(TObject *Sender, IDispatch *pDisp, tagVARIANT *);

2. В *.cpp модуль записать
Код:
void __fastcall THTMLForm::CppWebBrowser1DocumentComplete(TObject *Sender, IDispatch *pDisp, tagVARIANT *)
{
  if (pDisp == CurDispatch)
  {
    ((TCppWebBrowser *)Sender)->ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT);
    CurDispatch = NULL;
  }
}

void __fastcall THTMLForm::CppWebBrowser1NavigateComplete2(TObject *Sender, IDispatch *pDisp, tagVARIANT *)
{
  if (!CurDispatch)
    CurDispatch = pDisp;
}

3. В событие OnCreate формы записать:
 
Код:
CppWebBrowser1 = NULL;

4. В событие OnClose формы записать:
 
Код:
if(CppWebBrowser1!=NULL)delete CppWebBrowser1;

5. Сделать OnCreateHTMLDocument() методом класса THTMLForm и чуть исправить
Код:
void THTMLForm::OnCreateHTMLDocument()
{
  CurDispatch = NULL;
  if(CppWebBrowser1==NULL)
  {
    CppWebBrowser1 = new TCppWebBrowser(this); //HTMLForm имя формы
    CppWebBrowser1->OnDocumentComplete = CppWebBrowser1DocumentComplete;
    CppWebBrowser1->OnNavigateComplete2 = CppWebBrowser1NavigateComplete2;
    CppWebBrowser1->Hide();
    CppWebBrowser1->[color=red]TWinControl[/color]::Parent = this;
    CppWebBrowser1->Top = -1000;
    CppWebBrowser1->Show();
  }
  HTMLForm->ProgressBar1->Min = 0;
  HTMLForm->ProgressBar1->Max = HTMLForm->ComponentCount;
  HTMLForm->ProgressBar1->Position = 0;
  HTMLForm->ListBox1->Clear();
  //подготовка динамической html страницы
  HTMLForm->ListBox1->Items->Add("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
  HTMLForm->ListBox1->Items->Add("<html>");
  HTMLForm->ListBox1->Items->Add("<head>");
  HTMLForm->ListBox1->Items->Add("<title>Отчет</title>");
  HTMLForm->ListBox1->Items->Add("</head>");
  HTMLForm->ListBox1->Items->Add("<body>");
  HTMLForm->ListBox1->Items->Add("<table border=\"1\" bgcolor=\"#ccffcc\">");
  //width=\"750\"
  //код ниже отвечает за содержимое тега table в коде страницы html
  int Index = 1;
  AnsiString S = "";
  AnsiString S2 = "";
  HTMLForm->ProgressBar1->Visible = true;
  for(int i=0; i<HTMLForm->ComponentCount; i++)
  {
    HTMLForm->ProgressBar1->Position = HTMLForm->ProgressBar1->Position + 1;
    TImage * IsImage = dynamic_cast<TImage *>(HTMLForm->Components);
    if(IsImage)
    {
      IsImage->Picture->SaveToFile("C:\\html\\Images\\Image" + IntToStr(i) + ".bmp");
      HTMLForm->ListBox1->Items->Add("<tr>");
      HTMLForm->ListBox1->Items->Add("<td>");
      S = "<img src=\"C:\\html\\Images\\Image" + IntToStr(i) +  ".bmp" + "\" alt=\"\">";
      HTMLForm->ListBox1->Items->Add(S);
      HTMLForm->ListBox1->Items->Add("</td>");
      HTMLForm->ListBox1->Items->Add("<td>");
      for(int i=0; i<HTMLForm->ComponentCount; i++)
      {
        TLabel * IsLabel = dynamic_cast<TLabel *>(HTMLForm->Components);
        if(IsLabel)
        {
          if(HTMLForm->Components->Name == "Label" + IntToStr(Index))
          {
            TLabel * Temp = (TLabel *)HTMLForm->Components;
            HTMLForm->ListBox1->Items->Add(Temp->Caption);
            break;
          }
        }
      }
      HTMLForm->ListBox1->Items->Add("</td>");
      HTMLForm->ListBox1->Items->Add("</tr>");
      Index ++;
    }
  }
  HTMLForm->ListBox1->Items->Add("</table>");
  HTMLForm->ListBox1->Items->Add("</body>");
  HTMLForm->ListBox1->Items->Add("</html>"); //динамическая html страница сформирована

  HTMLForm->ListBox1->Items->SaveToFile("отчет.html");
  CppWebBrowser1->Navigate(WideString("C:\\html\\отчет.html"));
  HTMLForm->ProgressBar1->Visible = false;
  HTMLForm->ProgressBar1->Position = 0;
}
У меня код работает. :)
9.4K
07 июня 2006 года
_nоrth_
99 / / 24.04.2006
[QUOTE=Inga]
Я уже не много запуталась с этими [COLOR=#ff0000]Parent - ми :) [/COLOR][/QUOTE]Ничего сложного.
Если хочешь, можешь писать :
CppWebBrowser1->TControl::Parent = this;

Но, если лучше нравится, то можешь писать :
CppWebBrowser1->TWinControl::Parent = this;

Но а если не хочешь детей обижать, тогда пиши :
CppWebBrowser1->TOleControl::Parent = this; ;)
3.0K
07 июня 2006 года
Inga
79 / / 27.12.2005
Большое спасибо! Попробую в течении дня реализовать.
Правда не получается реализовать мою мечту сделать одну функцию и просто вставлять ее в другие приложения для трансформации их в html. Придется существенно пересмотреть мою концепцию - надо и h файл переделывать! Нельзя ли получить комментарии, а то буду писать и сама не понимать что пишу:rolleyes:
Что делают методы и что например значит:
CurDispatch = pDisp; ???//what is?
CurDispatch = NULL; ??? //why? :)

От моего кода почти ничего не осталось. Кошмар!:o

А в вашем коде нет: CppWebBrowser1->ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT);

Оно работает?
9.4K
07 июня 2006 года
_nоrth_
99 / / 24.04.2006
CurDispatch = pDisp; это на самом деле

if (!CurDispatch)CurDispatch = pDisp; оно выполняется, когда CppWebBrowser полностью загрузило страницу.

В твоем пред. коде нужно было ставить вызов ProcessMessages() для того, чтоб дать время бровзеру загрузить страницу. Но обработать событие OnNavigateComplete2 более надежно.

CurDispatch = NULL; - это подготовка к след.навигации.

Можно все это оформить в виде класса, и тогда можно встраивать в формы простым:
TMyClass *mc = new TMyClass(this);

В конструктор класса поместить создание бровзера, в деструктор удаление.

Вместо Listbox использовать напр. TStringList, а ProgressBar можно динамически создавать и удалять из этого класса.
9.4K
07 июня 2006 года
_nоrth_
99 / / 24.04.2006
[QUOTE=Inga]А в вашем коде нет: CppWebBrowser1->ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT);
Оно работает?[/QUOTE]Конечно работает. Так не для этого писался весь код ? :) Он вызывается автоматически в обработчике события OnDocumentComplete, когда бровзер полностью загрузил страницу.
3.0K
07 июня 2006 года
Inga
79 / / 27.12.2005
Спасибо.
Буду пробывать и разбираться.
3.0K
08 июня 2006 года
Inga
79 / / 27.12.2005
Вот сделала маленький кусочек кода, благодоря которому окно сохранения всегда вызывается. Проверила с большим кол-вом картинок. Все работает. Мне удалось всегда надежно вызывать метод ExecWB даже если сама html страница имеет огромное число картинок. Окно сохранения всегда появляется:
CppWebBrowser1->Navigate(WideString(GetCurrentDir()+"\\"+dir+"\\Report.html"));
while(CppWebBrowser1->ReadyState != Shdocvw_tlb::READYSTATE_COMPLETE) //Shdocvw_tlb:: для Builder 5
{
Sleep(100);
Application->ProcessMessages();
}
Application->ProcessMessages();
CppWebBrowser1->ExecWB(Shdocvw_tlb::OLECMDID_SAVEAS,Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог