Cara menggunakan kontrol browser web NewWindow2 acara

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 184876
Perbesar semua | Perkecil semua

Ringkasan

Artikel ini menjelaskan cara menggunakan acara NewWindow2, dipecat oleh kontrol Microsoft browser web yang disediakan dengan Microsoft Internet Explorer 4.0, untuk menentukan bahwa aplikasi browser Anda harus digunakan dalam semua kasus-kasus di mana jendela browser yang baru dibuka.

Artikel ini akan menjelaskan prosedur ini menggunakan Visual Basic 5.0 (VB) dan Microsoft Yayasan kelas (MFC) yang merupakan bagian dari Visual C++ 5.0 (VC).

Informasi lebih lanjut

NewWindow2 peristiwa terjadi ketika sebuah jendela baru akan menjadi dibuat untuk menampilkan sumber daya. Acara ini mendahului penciptaan baru jendela dari dalam kontrol browser web, misalnya, dalam menanggapi navigasi ditargetkan untuk jendela baru atau naskah window.open metode.

Pengangan kejadian untuk acara ini menerima dua parameter:

  • ppDisp: pointer ke antarmuka IDispatch Browser web atau InternetExplorer objek. Anda mengatur penunjuk ini sama dengan IDispatch antarmuka baru atau yang ada objek browser web atau InternetExplorer.
  • Batal: Pointer ke nilai Boolean. Menetapkan nilai ini ke VARIANT_TRUE menyebabkan navigasi untuk berhenti dan tidak ada jendela baru dibuka.
Untuk menentukan bahwa aplikasi browser Anda harus digunakan ketika jendela baru dibuka, Anda menetapkan ppDisp sama dengan browser web baru objek yang terkandung dalam jendela baru yang dibuat oleh aplikasi Anda. Dalam hal ini skenario, jika pengguna memilih untuk membuka halaman web di jendela baru, jendela baru dalam aplikasi Anda akan digunakan untuk menampilkan halaman web baru.

Dalam Selain itu, mengatur properti RegisterAsBrowser ke TRUE untuk kontrol browser web baru dibuat di agar untuk berpartisipasi dalam resolusi nama jendela. Sebagai contoh, jika ini jendela nama ini digunakan di tempat lain dalam script, kemudian kontrol ini akan digunakan sebagai pengganti satu baru dibuat karena memeriksa semua nama-nama jendela yang ada sebelum membuka jendela baru.

Berikut adalah beberapa contoh kode Visual Basic untuk mencapai hal ini:

Private Sub WebBrowser1_NewWindow2(ppDisp As Object,
                                   Cancel As Boolean)
   Dim frmWB As Form1
   Set frmWB = New Form1

   frmWB.WebBrowser1.RegisterAsBrowser = TRUE

   Set ppDisp = frmWB.WebBrowser1.Object
   frmWB.Visible = True
End Sub
				
Menggunakan MFC, Anda mungkin ingin melakukan hal ini di salah satu dari tiga jenis aplikasi:
  • Berbasis dialog
  • kumpulan dokumen tunggal antarmuka (SDI)
  • Beberapa kumpulan dokumen antarmuka (MDI)
Berikut adalah beberapa contoh kode MFC yang akan menyelesaikan tugas ini dalam dialog berbasis aplikasi:
   void CYourDlg::OnNewWindow2(LPDISPATCH FAR* ppDisp, BOOL FAR* Cancel)
   {
      m_dlgNewWB = new CYourDlg;
      m_dlgNewWB->Create(IDD_WBDLG_DIALOG);

      m_dlgNewWB->m_webBrowser.SetRegisterAsBrowser(TRUE);

      *ppDisp = m_dlgNewWB->m_webBrowser.GetApplication();
   }
				
Berikut adalah beberapa contoh kode MFC yang akan menyelesaikan tugas ini dalam SDI atau aplikasi MDI. Kode ini menciptakan kerangka baru yang berisi browser web kontrol. SDI aplikasi, kerangka ini akan muncul untuk pengguna untuk melihat seperti contoh lain dari aplikasi. Dalam aplikasi MDI, kerangka ini adalah sama seperti jika pengguna telah memilih untuk membuka jendela anak baru.
 void CYourView::OnNewWindow2(LPDISPATCH FAR* ppDisp,
                              BOOL FAR* Cancel)
 {
    // Get a pointer to the application object
    CWinApp* pApp = AfxGetApp();

    // Get the correct document template
    CDocTemplate* pDocTemplate;
    POSITION pos = pApp->GetFirstDocTemplatePosition();
    pDocTemplate = pApp->GetNextDocTemplate(pos);

    ASSERT(pDocTemplate);

    // Create the new frame
    CFrameWnd* pNewFrame = pDocTemplate->CreateNewFrame(GetDocument(),
                                   (CFrameWnd*)AfxGetMainWnd());
    ASSERT(pNewFrame);

    // Activate the frame and set its active view
    pDocTemplate->InitialUpdateFrame(pNewFrame, NULL);

    CYourView* pWBVw = (CYourView*)pNewFrame->GetActiveView();
    ASSERT(pWBVw);

    pWBVw->m_webBrowser.SetRegisterAsBrowser(TRUE);

    *ppDisp = pWBVw->m_webBrowser.GetApplication();
 }
				

Referensi

Untuk versi Microsoft Visual Basic .net ini Pasal, lihat 311282.
Menggunakan "kembali browser web dan MSHTML" di Internet klien SDK bantuan:
Pengenalan dinamis gaya
(c) Microsoft Corporation 1998, Hak cipta dilindungi undang-undang. Kontribusi oleh Scott Roberts, Microsoft Corporation.

Properti

ID Artikel: 184876 - Kajian Terakhir: 17 Agustus 2012 - Revisi: 4.0
Kata kunci: 
kbhowto kbwebbrowser kbmt KB184876 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini: 184876
Sanggahan Konten KB yang Tidak Lagi Diperbarui
Artikel ini berisi tentang produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disajikan ?sebagaimana adanya? dan tidak akan diperbarui.

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com