Witam ponownie,
Jak po kliknięciu buttona utworzyć nową zakładkę na PageControl, a w niej WebBrowser? Jak się odwoływac do tego komponentu?
Czy jest to w praktyce możliwe ?
Pozdrawiam ALL
TPanel *MyPanel = new TPanel(this);
MyPanel->Parent = TabSheet1; // TabSheet1 to zakładka obiektu PageConotrl
void __fastcall TForm1::Button2Click(TObject *Sender)
{
TTabSheet *pTabSheet = new TTabSheet(PageControl1);
pTabSheet->PageControl = PageControl1;
pTabSheet->Caption = "New Tab";
TWebBrowser * MyWebBrowser = new TWebBrowser(pTabSheet);
pTabSheet->InsertControl(MyWebBrowser);
TWinControl(MyWebBrowser).Parent = PageControl1;
MyWebBrowser->Align = alClient;
MyWebBrowser->Visible = true;
MyWebBrowser->Navigate("http://www.google.co.uk");
}
void __fastcall TForm1::WebBrowser1DocumentComplete(TObject *ASender, const IDispatch *pDisp, OleVariant &URL)
private:
void __fastcall MyButtonClick(TObject *Sender);
TButton *MyButton = new TButton(this);
MyButton->Parent = this;
MyButton->Left = 8;
MyButton->Top = 100;
MyButton->OnClick = MyButtonCLick;
//-------------------------------------------
void __fastcall TForm1::MyButtonClick(TObject *Sender)
{
// jakieÅ› zadanie do wykonania...
}
Tylko, że w tym wypadku to nie działa, bo zgłaszany jest błąd:Cyfrowy Baron napisał(a): Do obiektów dynamicznych zawsze odwołujesz się tak samo. Do zdarzeń obiektu dynamicznego nie możesz się odwołać, musisz je utworzyć
//w Unit1.h
private: // User declarations
void __fastcall MyWebBrowser1DocumentComplete(TObject *ASender,const IDispatch *pDisp, OleVariant &URL); // Skaldnia jak z metody w Events
///w Unit1.cpp
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TTabSheet *pTabSheet = new TTabSheet(PageControl1);
pTabSheet->PageControl = PageControl1;
pTabSheet->Caption = "New Tab";
TWebBrowser * MyWebBrowser = new TWebBrowser(pTabSheet);
pTabSheet->InsertControl(MyWebBrowser);
TWinControl(MyWebBrowser).Parent = PageControl1;
MyWebBrowser->Align = alClient;
MyWebBrowser->Visible = true;
MyWebBrowser->Navigate("http://www.google.co.uk");
MyWebBrowser->OnDocumentComplete = MyWebBrowser1DocumentComplete; // Przypisanie do zdarzenia
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MyWebBrowser1DocumentComplete(TObject *ASender,const IDispatch *pDisp, OleVariant &URL)
{
// Jakies dzialanie
}
Darek_C++ napisał(a):A jak mogę zamknąć dynamicznie otwartą zakładkę ?
TWinControl(MyWebBrowser).Parent = PageControl1;
Powrót do Ogólne problemy z programowaniem
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 16 gości