ID Artikel: 246247 - Kajian Terakhir: 20 September 2011 - Revisi: 2.0 Bagaimana peristiwa dokumen HTML wastafel untuk browser web host
Pada Halaman iniRINGKASANPengembang yang menjadi tuan rumah kontrol browser web di Microsoft Visual C++ atau Visual Basic sering ingin tenggelam peristiwa untuk dokumen saat ini dimuat. Hal ini sangat berguna untuk menyediakan global perilaku yang browser penulis ingin menerapkan di semua halaman dalam pengalaman pengguna, seperti meraih eksternal informasi pada link diklik atau teks yang dipilih. Strategi umum untuk Visual C++ dan Visual Basic adalah:
INFORMASI LEBIH LANJUTVisual C++ (ATL)Agar usaha pertama di Visual C++ adalah untuk membuat acara Anda tenggelam. Dua acara tenggelam harus dibuat: satu untuk DWebBrowserEvents2 untuk kontrol browser web, dan satu untuk HtmlDocumentEvents (didefinisikan dalam MSHTML.H) untuk dokumen perpustakaan Template aktif (ATL) yang sebenarnya.Wastafel DWebBrowserEvents2 dapat diimplementasikan sangat cepat menggunakan ATL's IDispEventImpl, seperti yang dijelaskan dalam artikel Basis Pengetahuan Microsoft berikut: 194179
(http://support.microsoft.com/kb/194179/
)
AtlEvnt.exe sampel menunjukkan bagaimana untuk menciptakan ATL tenggelam dengan menggunakan kelas ATL IDispEventImpl dan IDispEventSimpleImpl Karena akan ada dokumen baru setiap kali pengguna menavigasi ke halaman baru, Anda harus tenggelam dokumen peristiwa setiap kali browser web kontrol melempar DocumentComplete acara. Dalam DocumentComplete handler, gunakan kode berikut untuk tenggelam dokumen peristiwa:180366
(http://support.microsoft.com/kb/180366/
)
Cara menentukan ketika suatu halaman selesai memuat dalam browser web kontrol Sink acara dokumen HTML Anda harus menyertakan file <mshtml.h>dan <mshtmdid.h>(yang mendefinisikan semua DISPIDs untuk HTMLDocumentEvents).</mshtmdid.h> </mshtml.h>Event handler untuk cancelable dokumen acara harus mengembalikan nilai Boolean di parameter pvarResult metode IDispatch::Invoke(). Nilai VARIANT_TRUE menunjukkan bahwa Internet Explorer harus melakukan pemrosesan acara sendiri; nilai VARIANT_FALSE membatalkan acara. Untuk alasan ini, Anda harus mengganti Invoke() langsung alih-alih menggunakan cara pintas pelaksanaan seperti ATL's IDispEventImpl, yang akan memungkinkan Anda untuk mengubah pvarResult. Untuk mengganti Invoke() berhasil di ATL acara wastafel, lihat artikel berikut pada Basis Pengetahuan Microsoft: 181277
(http://support.microsoft.com/kb/181277/
)
AtlSink.exe sampel menunjukkan bagaimana menerapkan wastafel dispinterface dengan menggunakan perpustakaan Template aktif (ATL) in Visual C++ Kode wastafel berikut menunjukkan bagaimana Invoke() dapat diganti untuk menangani Click event (DISPID_CLICK):Visual BasicProses dalam Visual Basic adalah sama: tenggelam dokumen peristiwa di acara DocumentComplete untuk objek browser web. Untungnya, proses dari peristiwa tenggelam disingkat dengan menggunakan kata kunci WithEvents Visual Basic bekerjasama dengan Deklarasi variabel.Dengan asumsi Anda WebBrowser bernama WebBrowser1 dan Anda menambahkan perpustakaan objek Microsoft HTML untuk proyek, kode berikut berperilaku persis sama C++ kode: REFERENSIUntuk informasi lebih lanjut tentang mengembangkan solusi berbasis Web untuk Microsoft Internet Explorer, kunjungi Website Microsoft berikut: http://MSDN.Microsoft.com/IE/
(http://msdn.microsoft.com/ie/)
http://support.microsoft.com/iep (http://support.microsoft.com/iep)
Penerjemahan MesinPENTING: 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:246247
(http://support.microsoft.com/kb/246247/en-us/
)
| Sumber Lain Situs Pendukung Lain
KomunitasCari Bantuan SekarangTerjemahan Artikel
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Kembali ke atas
