Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Bertindak sebagai kontainer kontrol untuk kontrol ActiveX.
Sintaks
class COleControlContainer : public CCmdTarget
Anggota
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| COleControlContainer::COleControlContainer | Membuat COleControlContainer objek. |
Metode Publik
| Nama | Deskripsi |
|---|---|
| COleControlContainer::AttachControlSite | Membuat situs kontrol, yang dihosting oleh kontainer. |
| COleControlContainer::BroadcastAmbientPropertyChange | Menginformasikan semua kontrol yang dihosting bahwa properti sekitar telah berubah. |
| COleControlContainer::CheckDlgButton | Memodifikasi kontrol tombol yang ditentukan. |
| COleControlContainer::CheckRadioButton | Memilih tombol radio grup yang ditentukan. |
| COleControlContainer::CreateControl | Membuat kontrol ActiveX yang dihosting. |
| COleControlContainer::CreateOleFont | Membuat font OLE. |
| COleControlContainer::FindItem | Mengembalikan situs kustom kontrol yang ditentukan. |
| COleControlContainer::FreezeAllEvents | Menentukan apakah situs kontrol menerima peristiwa. |
| COleControlContainer::GetAmbientProp | Mengambil properti sekitar yang ditentukan. |
| COleControlContainer::GetDlgItem | Mengambil kontrol dialog yang ditentukan. |
| COleControlContainer::GetDlgItemInt | Mengambil nilai kontrol dialog yang ditentukan. |
| COleControlContainer::GetDlgItemText | Mengambil keterangan kontrol dialog yang ditentukan. |
| COleControlContainer::HandleSetFocus | Menentukan apakah kontainer menangani pesan WM_SETFOCUS. |
| COleControlContainer::HandleWindowlessMessage | Menangani pesan yang dikirim ke kontrol tanpa jendela. |
| COleControlContainer::IsDlgButtonChecked | Menentukan status tombol yang ditentukan. |
| COleControlContainer::OnPaint | Dipanggil untuk mengecat ulang sebagian kontainer. |
| COleControlContainer::OnUIActivate | Dipanggil ketika kontrol akan diaktifkan di tempat. |
| COleControlContainer::OnUIDeactivate | Dipanggil ketika kontrol akan dinonaktifkan. |
| COleControlContainer::ScrollChildren | Dipanggil oleh kerangka kerja saat pesan gulir diterima dari jendela anak. |
| COleControlContainer::SendDlgItemMessage | Mengirim pesan ke kontrol yang ditentukan. |
| COleControlContainer::SetDlgItemInt | Mengatur nilai kontrol yang ditentukan. |
| COleControlContainer::SetDlgItemText | Mengatur teks kontrol yang ditentukan. |
Anggota Data Publik
| Nama | Deskripsi |
|---|---|
| COleControlContainer::m_crBack | Warna latar belakang kontainer. |
| COleControlContainer::m_crFore | Warna latar depan kontainer. |
| COleControlContainer::m_listSitesOrWnds | Daftar situs kontrol yang didukung. |
| COleControlContainer::m_nWindowlessControls | Jumlah kontrol tanpa jendela yang dihosting. |
| COleControlContainer::m_pOleFont | Penunjuk ke font OLE dari situs kontrol kustom. |
| COleControlContainer::m_pSiteCapture | Penunjuk ke situs kontrol pengambilan. |
| COleControlContainer::m_pSiteFocus | Penunjuk ke kontrol yang saat ini memiliki fokus input. |
| COleControlContainer::m_pSiteUIActive | Penunjuk ke kontrol yang saat ini diaktifkan di tempat. |
| COleControlContainer::m_pWnd | Penunjuk ke jendela yang mengimplementasikan kontainer kontrol. |
| COleControlContainer::m_siteMap | Peta situs. |
Keterangan
Ini dilakukan dengan memberikan dukungan untuk satu atau beberapa situs kontrol ActiveX (diimplementasikan oleh COleControlSite). COleControlContainer sepenuhnya mengimplementasikan antarmuka IOleInPlaceFrame dan IOleContainer , memungkinkan kontrol ActiveX yang terkandung untuk memenuhi kualifikasi mereka sebagai item di tempat.
Umumnya, kelas ini digunakan bersama dengan COccManager dan COleControlSite untuk mengimplementasikan kontainer kontrol ActiveX kustom, dengan situs kustom untuk satu atau beberapa kontrol ActiveX.
Hierarki Warisan
COleControlContainer
Persyaratan
Header: afxocc.h
COleControlContainer::AttachControlSite
Dipanggil oleh kerangka kerja untuk membuat dan melampirkan situs kontrol.
virtual void AttachControlSite(
CWnd* pWnd,
UINT nIDC = 0);
void AttachControlSite(
CWnd* pWnd,
UINT nIDC = 0);
Parameter
pWnd
Penunjuk ke CWnd objek.
nIDC
ID kontrol yang akan dilampirkan.
Keterangan
Ambil alih fungsi ini jika Anda ingin menyesuaikan proses ini.
Catatan
Gunakan bentuk pertama fungsi ini jika Anda secara statis menautkan ke pustaka MFC. Gunakan formulir kedua jika Anda secara dinamis menautkan ke pustaka MFC.
COleControlContainer::BroadcastAmbientPropertyChange
Menginformasikan semua kontrol yang dihosting bahwa properti sekitar telah berubah.
virtual void BroadcastAmbientPropertyChange(DISPID dispid);
Parameter
dispid
ID pengiriman properti sekitar sedang diubah.
Keterangan
Fungsi ini dipanggil oleh kerangka kerja ketika properti sekitar telah mengubah nilai. Ambil alih fungsi ini untuk menyesuaikan perilaku ini.
COleControlContainer::CheckDlgButton
Memodifikasi status tombol saat ini.
virtual void CheckDlgButton(
int nIDButton,
UINT nCheck);
Parameter
nIDButton
ID tombol yang akan dimodifikasi.
nCheck
Menentukan status tombol. Bisa jadi salah satu dari yang berikut:
BST_CHECKED Mengatur status tombol untuk dicentang.
BST_INDETERMINATE Mengatur status tombol menjadi abu-abu, menunjukkan status yang tidak ditentukan. Gunakan nilai ini hanya jika tombol memiliki gaya BS_3STATE atau BS_AUTO3STATE.
BST_UNCHECKED Mengatur status tombol untuk dihapus.
COleControlContainer::CheckRadioButton
Memilih tombol radio tertentu dalam grup dan menghapus tombol yang tersisa dalam grup.
virtual void CheckRadioButton(
int nIDFirstButton,
int nIDLastButton,
int nIDCheckButton);
Parameter
nIDFirstButton
Menentukan pengidentifikasi tombol radio pertama dalam grup.
nIDLastButton
Menentukan pengidentifikasi tombol radio terakhir dalam grup.
nIDCheckButton
Menentukan pengidentifikasi tombol radio yang akan diperiksa.
COleControlContainer::COleControlContainer
Membuat COleControlContainer objek.
explicit COleControlContainer(CWnd* pWnd);
Parameter
pWnd
Penunjuk ke jendela induk kontainer kontrol.
Keterangan
Setelah objek berhasil dibuat, tambahkan situs kontrol kustom dengan panggilan ke AttachControlSite.
COleControlContainer::CreateControl
Membuat kontrol ActiveX, yang dihosting oleh objek yang ditentukan COleControlSite .
BOOL CreateControl(
CWnd* pWndCtrl,
REFCLSID clsid,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const RECT& rect,
UINT nID,
CFile* pPersist =NULL,
BOOL bStorage =FALSE,
BSTR bstrLicKey =NULL,
COleControlSite** ppNewSite =NULL);
BOOL CreateControl(
CWnd* pWndCtrl,
REFCLSID clsid,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const POINT* ppt,
const SIZE* psize,
UINT nID,
CFile* pPersist =NULL,
BOOL bStorage =FALSE,
BSTR bstrLicKey =NULL,
COleControlSite** ppNewSite =NULL);
Parameter
pWndCtrl
Penunjuk ke objek jendela yang mewakili kontrol.
clsid
ID kelas unik kontrol.
lpszWindowName
Penunjuk ke teks yang akan ditampilkan dalam kontrol. Mengatur nilai properti Teks atau Teks kontrol (jika ada). Jika NULL, properti Teks atau Teks kontrol tidak diubah.
dwStyle
Gaya Windows. Gaya yang tersedia tercantum di bawah bagian Keterangan .
rect
Menentukan ukuran dan posisi kontrol. Ini bisa berupa CRect objek atau RECT struktur.
Nid
Menentukan ID jendela anak kontrol.
pPersist
Penunjuk ke yang CFile berisi status persisten untuk kontrol. Nilai defaultnya adalah NULL, menunjukkan bahwa kontrol menginisialisasi dirinya sendiri tanpa memulihkan statusnya dari penyimpanan persisten apa pun. Jika bukan NULL, itu harus menjadi penunjuk ke CFileobjek -turunan yang berisi data persisten kontrol, dalam bentuk aliran atau penyimpanan. Data ini bisa saja disimpan dalam aktivasi klien sebelumnya. CFile dapat berisi data lain, tetapi harus memiliki penunjuk baca-tulis yang diatur ke byte pertama data persisten pada saat panggilan ke CreateControl.
bStorage
Menunjukkan apakah data dalam pPersist harus ditafsirkan sebagai IStorage atau IStream data. Jika data dalam pPersist adalah penyimpanan, bStorage harus TRUE. Jika data dalam pPersist adalah aliran, bStorage harus FALSE. Nilai defaultnya adalah FALSE.
bstrLicKey
Data kunci lisensi opsional. Data ini hanya diperlukan untuk membuat kontrol yang memerlukan kunci lisensi run-time. Jika kontrol mendukung lisensi, Anda harus menyediakan kunci lisensi agar pembuatan kontrol berhasil. Nilai defaultnya adalah NULL.
ppNewSite
Penunjuk ke situs kontrol yang ada yang akan menghosting kontrol yang sedang dibuat. Nilai defaultnya adalah NULL, menunjukkan bahwa situs kontrol baru akan dibuat secara otomatis dan dilampirkan ke kontrol baru.
Ppt
Penunjuk ke POINT struktur yang berisi sudut kiri atas kontrol. Ukuran kontrol ditentukan oleh nilai psize. Nilai ppt dan psize adalah metode opsional untuk menentukan ukuran dan posisi kontrol.
psize
Penunjuk ke SIZE struktur yang berisi ukuran kontrol. Sudut kiri atas ditentukan oleh nilai ppt. Nilai ppt dan psize adalah metode opsional untuk menentukan ukuran dan posisi kontrol.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Hanya subset bendera Windows dwStyle yang didukung oleh CreateControl:
WS_VISIBLE Membuat jendela yang awalnya terlihat. Diperlukan jika Anda ingin kontrol terlihat segera, seperti jendela biasa.
WS_DISABLED Membuat jendela yang awalnya dinonaktifkan. Jendela yang dinonaktifkan tidak dapat menerima input dari pengguna. Dapat diatur jika kontrol memiliki properti Diaktifkan.
WS_BORDER Membuat jendela dengan batas garis tipis. Dapat diatur jika kontrol memiliki properti BorderStyle.
WS_GROUP Menentukan kontrol pertama dari sekelompok kontrol. Pengguna dapat mengubah fokus keyboard dari satu kontrol dalam grup ke kontrol berikutnya dengan menggunakan tombol arah. Semua kontrol yang ditentukan dengan gaya WS_GROUP setelah kontrol pertama milik grup yang sama. Kontrol berikutnya dengan gaya WS_GROUP mengakhiri grup dan memulai grup berikutnya.
WS_TABSTOP Menentukan kontrol yang dapat menerima fokus keyboard saat pengguna menekan tombol TAB. Menekan tombol TAB mengubah fokus keyboard ke kontrol gaya WS_TABSTOP berikutnya.
Gunakan kelebihan beban kedua untuk membuat kontrol berukuran default.
COleControlContainer::CreateOleFont
Membuat font OLE.
void CreateOleFont(CFont* pFont);
Parameter
pFont
Penunjuk ke font yang akan digunakan oleh kontainer kontrol.
COleControlContainer::FindItem
Menemukan situs kustom yang menghosting item yang ditentukan.
virtual COleControlSite* FindItem(UINT nID) const;
Parameter
Nid
Pengidentifikasi item yang akan ditemukan.
Tampilkan Nilai
Penunjuk ke situs kustom item yang ditentukan.
COleControlContainer::FreezeAllEvents
Menentukan apakah kontainer akan mengabaikan peristiwa dari situs kontrol terlampir atau menerimanya.
void FreezeAllEvents(BOOL bFreeze);
Parameter
bFreeze
Nonzero jika peristiwa akan diproses; jika tidak, 0.
Keterangan
Catatan
Kontrol tidak diperlukan untuk berhenti menembakkan peristiwa jika diminta oleh kontainer kontrol. Ini dapat terus menembak tetapi semua peristiwa berikutnya akan diabaikan oleh kontainer kontrol.
COleControlContainer::GetAmbientProp
Mengambil nilai properti sekitar tertentu.
virtual BOOL GetAmbientProp(
COleControlSite* pSite,
DISPID dispid,
VARIANT* pvarResult);
Parameter
pSite
Penunjuk ke situs kontrol tempat properti sekitar akan diambil.
dispid
ID pengiriman properti sekitar yang diinginkan.
pVarResult
Penunjuk ke nilai properti sekitar.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
COleControlContainer::GetDlgItem
Mengambil penunjuk ke jendela kontrol atau anak yang ditentukan dalam kotak dialog atau jendela lainnya.
virtual CWnd* GetDlgItem(int nID) const;
virtual void GetDlgItem(
int nID,
HWND* phWnd) const;
Parameter
Nid
Pengidentifikasi item dialog yang akan diambil.
phWnd
Penunjuk ke handel objek jendela item dialog yang ditentukan.
Tampilkan Nilai
Penunjuk ke jendela item dialog.
COleControlContainer::GetDlgItemInt
Mengambil nilai teks yang diterjemahkan dari kontrol yang diberikan.
virtual UINT GetDlgItemInt(
int nID,
BOOL* lpTrans,
BOOL bSigned) const;
Parameter
Nid
Pengidentifikasi kontrol.
lpTrans
Pointer ke variabel Boolean yang menerima nilai keberhasilan/kegagalan fungsi (TRUE menunjukkan keberhasilan, FALSE menunjukkan kegagalan).
bSigned
Menentukan apakah fungsi harus memeriksa teks untuk tanda minus di awal dan mengembalikan nilai bilangan bulat yang ditandatangani jika menemukannya. Jika parameter bSigned adalah TRUE, menentukan bahwa nilai yang akan diambil adalah nilai bilangan bulat yang ditandatangani, berikan nilai yang dikembalikan ke int jenis. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Tampilkan Nilai
Jika berhasil, variabel yang ditujukan ke oleh lpTrans diatur ke TRUE, dan nilai yang dikembalikan adalah nilai terjemahan teks kontrol.
Jika fungsi gagal, variabel yang diacu oleh lpTrans diatur ke FALSE, dan nilai yang dikembalikan adalah nol. Perhatikan bahwa, karena nol adalah nilai yang mungkin diterjemahkan, nilai pengembalian nol tidak dengan sendirinya menunjukkan kegagalan.
Jika lpTrans null, fungsi tidak mengembalikan informasi tentang keberhasilan atau kegagalan.
Keterangan
Fungsi ini menerjemahkan teks yang diambil dengan menghapus spasi tambahan di awal teks lalu mengonversi digit desimal. Fungsi berhenti menerjemahkan ketika mencapai akhir teks atau menemukan karakter nonnumerik.
Fungsi ini mengembalikan nol jika nilai yang diterjemahkan lebih besar dari INT_MAX (untuk angka yang ditandatangani) atau UINT_MAX (untuk angka yang tidak ditandatangani).
COleControlContainer::GetDlgItemText
Mengambil teks kontrol yang diberikan.
virtual int GetDlgItemText(
int nID,
LPTSTR lpStr,
int nMaxCount) const;
Parameter
Nid
Pengidentifikasi kontrol.
lpStr
Penunjuk ke teks kontrol.
nMaxCount
Menentukan panjang maksimum, dalam karakter, dari string yang akan disalin ke buffer yang ditujukkan oleh lpStr. Jika panjang string melebihi batas, string akan dipotong.
Tampilkan Nilai
Jika fungsi berhasil, nilai pengembalian menentukan jumlah karakter yang disalin ke buffer, tidak termasuk karakter null yang mengakhiri.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
COleControlContainer::HandleSetFocus
Menentukan apakah kontainer menangani pesan WM_SETFOCUS.
virtual BOOL HandleSetFocus();
Tampilkan Nilai
Nonzero jika kontainer menangani pesan WM_SETFOCUS; jika tidak, nol.
COleControlContainer::HandleWindowlessMessage
Memproses pesan jendela untuk kontrol tanpa jendela.
virtual BOOL HandleWindowlessMessage(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult);
Parameter
message
Pengidentifikasi untuk pesan jendela, disediakan oleh Windows.
wParam
Parameter pesan; disediakan oleh Windows. Menentukan informasi khusus pesan tambahan. Konten parameter ini bergantung pada nilai parameter pesan .
lParam
Parameter pesan; disediakan oleh Windows. Menentukan informasi khusus pesan tambahan. Konten parameter ini bergantung pada nilai parameter pesan .
plResult
Kode hasil Windows. Menentukan hasil pemrosesan pesan dan bergantung pada pesan yang dikirim.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, nol.
Keterangan
Ambil alih fungsi ini untuk menyesuaikan penanganan pesan kontrol tanpa jendela.
COleControlContainer::IsDlgButtonChecked
Menentukan status tombol yang ditentukan.
virtual UINT IsDlgButtonChecked(int nIDButton) const;
Parameter
nIDButton
Pengidentifikasi kontrol tombol.
Tampilkan Nilai
Nilai pengembalian, dari tombol yang dibuat dengan gaya BS_AUTOCHECKBOX, BS_AUTORADIOBUTTON, BS_AUTO3STATE, BS_CHECKBOX, BS_RADIOBUTTON, atau BS_3STATE. Bisa jadi salah satu dari yang berikut:
tombol BST_CHECKED dicentang.
tombol BST_INDETERMINATE berwarna abu-abu, menunjukkan status yang tidak ditentukan (hanya berlaku jika tombol memiliki gaya BS_3STATE atau BS_AUTO3STATE).
Tombol BST_UNCHECKED dibersihkan.
Keterangan
Jika tombol adalah kontrol tiga status, fungsi anggota menentukan apakah itu redup, diperiksa, atau tidak.
COleControlContainer::m_crBack
Warna latar belakang kontainer.
COLORREF m_crBack;
COleControlContainer::m_crFore
Warna latar depan kontainer.
COLORREF m_crFore;
COleControlContainer::m_listSitesOrWnds
Daftar situs kontrol yang dihosting oleh kontainer.
CTypedPtrList<CPtrList, COleControlSiteOrWnd*> m_listSitesOrWnds;
COleControlContainer::m_nWindowlessControls
Jumlah kontrol tanpa jendela yang dihosting oleh kontainer kontrol.
int m_nWindowlessControls;
COleControlContainer::m_pOleFont
Penunjuk ke font OLE dari situs kontrol kustom.
LPFONTDISP m_pOleFont;
COleControlContainer::m_pSiteCapture
Penunjuk ke situs kontrol pengambilan.
COleControlSite* m_pSiteCapture;
COleControlContainer::m_pSiteFocus
Penunjuk ke situs kontrol yang saat ini memiliki fokus input.
COleControlSite* m_pSiteFocus;
COleControlContainer::m_pSiteUIActive
Penunjuk ke situs kontrol yang diaktifkan di tempat.
COleControlSite* m_pSiteUIActive;
COleControlContainer::m_pWnd
Penunjuk ke objek jendela yang terkait dengan kontainer.
CWnd* m_pWnd;
COleControlContainer::m_siteMap
Peta situs.
CMapPtrToPtr m_siteMap;
COleControlContainer::OnPaint
Dipanggil oleh kerangka kerja untuk menangani permintaan WM_PAINT.
virtual BOOL OnPaint(CDC* pDC);
Parameter
pDC
Penunjuk ke konteks perangkat yang digunakan oleh kontainer.
Tampilkan Nilai
Bukan nol jika pesan ditangani; jika tidak, nol.
Keterangan
Ambil alih fungsi ini untuk menyesuaikan proses pengecatan.
COleControlContainer::OnUIActivate
Dipanggil oleh kerangka kerja ketika situs kontrol, yang ditujukkan oleh pSite, akan diaktifkan di tempat.
virtual void OnUIActivate(COleControlSite* pSite);
Parameter
pSite
Penunjuk ke situs kontrol yang akan diaktifkan di tempat.
Keterangan
Aktivasi di tempat berarti bahwa menu utama kontainer diganti dengan menu komposit di tempat.
COleControlContainer::OnUIDeactivate
Dipanggil oleh kerangka kerja ketika situs kontrol, yang ditunjukkan oleh pSite, akan dinonaktifkan.
virtual void OnUIDeactivate(COleControlSite* pSite);
Parameter
pSite
Penunjuk ke situs kontrol yang akan dinonaktifkan.
Keterangan
Ketika pemberitahuan ini diterima, kontainer harus menginstal ulang antarmuka penggunanya dan mengambil fokus.
COleControlContainer::ScrollChildren
Dipanggil oleh kerangka kerja saat pesan gulir diterima dari jendela anak.
virtual void ScrollChildren(
int dx,
int dy);
Parameter
Dx
Jumlah, dalam piksel, menggulir sepanjang sumbu x.
Dy
Jumlah, dalam piksel, menggulir sepanjang sumbu y.
COleControlContainer::SendDlgItemMessage
Mengirim pesan ke kontrol yang ditentukan.
virtual LRESULT SendDlgItemMessage(
int nID,
UINT message,
WPARAM wParam,
LPARAM lParam);
Parameter
Nid
Menentukan pengidentifikasi kontrol yang menerima pesan.
message
Menentukan pesan yang akan dikirim.
wParam
Menentukan informasi khusus pesan tambahan.
lParam
Menentukan informasi khusus pesan tambahan.
COleControlContainer::SetDlgItemInt
Mengatur teks kontrol dalam kotak dialog ke representasi string dari nilai bilangan bulat tertentu.
virtual void SetDlgItemInt(
int nID,
UINT nValue,
BOOL bSigned);
Parameter
Nid
Pengidentifikasi kontrol.
nValue
Nilai bilangan bulat yang akan ditampilkan.
bSigned
Menentukan apakah parameter nValue ditandatangani atau tidak ditandatangani. Jika parameter ini TRUE, nValue ditandatangani. Jika parameter ini TRUE dan nValue kurang dari nol, tanda minus ditempatkan sebelum digit pertama dalam string. Jika parameter ini FALSE, nValue tidak ditandatangani.
COleControlContainer::SetDlgItemText
Mengatur teks kontrol yang ditentukan, menggunakan teks yang terkandung dalam lpszString.
virtual void SetDlgItemText(
int nID,
LPCTSTR lpszString);
Parameter
Nid
Pengidentifikasi kontrol.
lpszString
Penunjuk ke teks kontrol.
Lihat juga
Kelas CCmdTarget
Bagan Hierarki
Kelas COleControlSite
Kelas COccManager