Ringkasan
Kontrol ActiveX harus menerapkan antarmuka IProvideClassInfo atau IProvideClassInfo2 untuk mengaktifkan penanganan kejadian di halaman Web. Microsoft Internet Explorer menggunakan antarmuka ini untuk mendapatkan Perpustakaan jenis kontrol dan menentukan pengaturan event tersedia.
Informasi Selengkapnya
Menggunakan bahasa skrip, seperti VBScript atau JavaScript, penulis halaman Web dapat menggunakan otomatisasi untuk memanggil metode properti dan menangani peristiwa untuk kontrol ActiveX yang ditempatkan di halaman dengan tag HTML < OBJECT >. Untuk kontrol ActiveX untuk mendukung penanganan kejadian tersebut, itu harus menerapkan antarmuka IProvideClassInfo atau IProvideClassInfo2. Internet Explorer query kontrol untuk antarmuka ini, dan jika diterapkan, memanggil metode GetClassInfo() untuk mendapatkan Perpustakaan jenis kontrol. Internet Explorer akan awalnya meminta kontrol IProvideClassInfo2, dan jika ini tidak diterapkan, akan kemudian permintaan untuk IProvideClassInfo.The IProvideClassInfo2 antarmuka berasal dari IProvideClassInfo dan menyediakan metode tambahan, GetGUID() , yang menghasilkan objek yang keluar antarmuka ID untuk menjadi default peristiwa ditetapkan. Untuk kontrol ActiveX yang dikembangkan menggunakan kelas dasar Microsoft, antarmuka IProvideClassInfo2 diterapkan secara default. Untuk kontrol ActiveX yang dikembangkan dengan menggunakan Microsoft Visual Basic, antarmuka IProvideClassInfo diterapkan secara default. Saat menggunakan Microsoft Active Template Library (ATL), versi 3.0, objek ATL 'lite kontrol' berikut tidak menerapkan antarmuka IProvideClassInfo2 secara default:
-
Objek sederhana
-
Internet Explorer objek
-
Kontrol Lite
-
Kontrol komposit Lite
-
Kontrol HTML Lite
Anda dapat menambahkan dukungan untuk penanganan dengan menerapkan antarmuka IProvideClassInfo event. Hal ini dilakukan oleh kontrol Anda berasal dari implementasi ATL default, IProvideClassInfo2Impl.
-
Tambahkan baris berikut ke daftar terbitan kelas:
public IProvideClassInfo2Impl<&CLSID_<object_name>, NULL, &LIBID_<project_name>Lib>
-
Tambahkan baris berikut ke COM_MAP Anda:
COM_INTERFACE_ENTRY(IProvideClassInfo) COM_INTERFACE_ENTRY(IProvideClassInfo2)
Referensi
Untuk informasi selengkapnya tentang perpustakaan pola dasar aktif dan menerapkan kontrol ActiveX, silakan baca dokumentasi Microsoft Visual C++ Online. Untuk informasi lebih lanjut tentang mengembangkan solusi berbasis Web untuk Microsoft Internet Explorer, kunjungi situs Web Microsoft berikut ini:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep(c) Microsoft Corporation 1999, Semua hak dilindungi undang-undang. Kontribusi oleh tanda Davis, Microsoft Corporation.