Bagikan melalui


Kontrol ActiveX MFC: Metode

Kontrol ActiveX mengaktifkan peristiwa untuk berkomunikasi antara dirinya sendiri dan kontainer kontrolnya. Kontainer juga dapat berkomunikasi dengan kontrol dengan metode dan properti. Metode juga disebut fungsi.

Metode dan properti menyediakan antarmuka yang diekspor untuk digunakan oleh aplikasi lain, seperti klien Automation dan kontainer kontrol ActiveX. Untuk informasi selengkapnya tentang properti kontrol ActiveX, lihat artikel Kontrol ActiveX MFC: Properti.

Metode serupa dalam penggunaan dan tujuan untuk fungsi anggota kelas C++. Ada dua jenis metode yang dapat anda terapkan: stok dan kustom. Mirip dengan peristiwa stok, metode stok adalah metode yang COleControl menyediakan implementasi. Untuk informasi selengkapnya tentang metode stok, lihat artikel Kontrol ActiveX MFC: Menambahkan Metode Stok. Metode kustom, yang ditentukan oleh pengembang, memungkinkan penyesuaian kontrol tambahan. Untuk informasi selengkapnya, lihat artikel Kontrol ActiveX MFC: Menambahkan Metode Kustom.

Microsoft Foundation Class Library (MFC) menerapkan mekanisme yang memungkinkan kontrol Anda untuk mendukung stok dan metode kustom. Bagian pertama adalah kelas COleControl. Berasal dari CWnd, COleControl fungsi anggota mendukung metode stok yang umum untuk semua kontrol ActiveX. Bagian kedua dari mekanisme ini adalah peta pengiriman. Peta pengiriman mirip dengan peta pesan; namun, alih-alih memetakan fungsi ke ID pesan Windows, peta pengiriman memetakan fungsi anggota virtual ke IDS IDispatch.

Agar kontrol mendukung berbagai metode dengan benar, kelasnya harus mendeklarasikan peta pengiriman. Ini dicapai oleh baris kode berikut yang terletak di header kelas kontrol (. H) file:

DECLARE_DISPATCH_MAP()

Tujuan utama peta pengiriman adalah untuk membangun hubungan antara nama metode yang digunakan oleh pemanggil eksternal (seperti kontainer) dan fungsi anggota kelas kontrol yang mengimplementasikan metode. Setelah peta pengiriman dideklarasikan, peta perlu didefinisikan dalam implementasi kontrol (. File CPP). Baris kode berikut menentukan peta pengiriman:

BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
END_DISPATCH_MAP()

Jika Anda menggunakan MFC ActiveX Control Wizard untuk membuat proyek, baris ini ditambahkan secara otomatis. Jika Panduan Kontrol ActiveX MFC tidak digunakan, Anda harus menambahkan baris ini secara manual.

Artikel berikut membahas metode secara rinci:

Baca juga

Kontrol ActiveX MFC