CComCompositeControl sınıfı
Bu sınıf, birleşik denetim uygulamak için gerekli yöntemleri sağlar.
Önemli |
---|
Bu sınıf ve üyeleri, Windows çalışma zamanında yürütmek uygulamalarda kullanılamaz. |
template <
class T
>
class CComCompositeControl :
public CComControl< T, CAxDialogImpl< T > >
Parametreler
- T
Kullanacağınız sınıf türetilmiş CComObjectRoot veya CComObjectRootEx, bileşik denetiminizi desteklemek istediğiniz de diğer arabirimlerden gibi.
Üyeler
Ortak Oluşturucusu
Ad |
Description |
---|---|
Oluşturucu. |
|
Yıkıcı. |
Public yöntemler
Ad |
Description |
---|---|
Öneri veya bileşik denetim tarafından barındırılan tüm denetimlerin unadvise için bu yöntemi çağırın. |
|
Boyutunu hesaplamak için bu yöntemi çağırın HIMETRIC birleşik denetim barındırmak için kullanılan iletişim kaynak birimleri. |
|
Birleşik denetimler için Denetim penceresi oluşturmak için bu yöntemi çağrılır. |
|
Denetim penceresi oluşturmak ve barındırılan herhangi bir denetimi bildirmek için bu yöntemi çağırın. |
|
Konteynerin arka plan rengini kullanarak birleşik denetimin arka plan rengini ayarlamak için bu yöntemi çağırın. |
Ortak veri üyeleri
Ad |
Description |
---|---|
Arka plan fırça. |
|
Şu anda odaklanmış pencere tanıtıcısı. |
Notlar
Sınıftan türetilmiş sınıfları CComCompositeControl bileşik ActiveX denetiminin işlevselliği devralır.ActiveX denetimleri türetilen CComCompositeControl standart iletişim kutusu tarafından barındırılan.Bu tür denetimler, diğer denetimleri (yerel Windows denetimleri ve ActiveX denetimleri) ev sahipliği yapabilir, çünkü bunlar birleşik denetimler denir.
CComCompositeControlBir numaralandırılmış veri üyesi alt sınıftaki bakarak birleşik denetimler oluşturmak için iletişim kaynağı tanımlar.Bu alt sınıf IDD üye denetimin pencere olarak kullanılan iletişim kaynağının kaynak kimliği olarak ayarlanır.Aşağıdaki sınıf türetilen veri üyesi örneğidir CComCompositeControl denetimin pencere için kullanılacak iletişim kaynağı tanımlamak için de içermelidir:
enum { IDD = IDD_MYCOMPOSITE };
[!NOT]
Penceresiz denetimler içerebilir, ancak birleşik denetimler her zaman pencereli, denetimleridir.
Bir denetim tarafından uygulanan bir CComCompositeControl-türetilmiş bir sınıf varsayılan davranış yerleşik olarak bulunan sekme vardır.İlki SEKME tuşuna basarak odağı tüm birleşik denetimin içerdiği denetimlere, daha sonra birleşik denetim dışında ve sekme sırası kapsayıcı içinde sonraki öğeyi açmadan sağlanıncaya için kapsayan bir uygulamada sekmeli tarafından denetimi odağı aldığında, neden olur.Barındırılan denetimlerin sekme sırasını iletişim kaynak tarafından belirlenir ve sırayı belirler hangi sekme ortaya çıkar.
[!NOT]
Hızlandırıcılar ile düzgün çalışması sırada bir CComCompositeControl, Denetim oluşturulan bir Hızlandırıcı tablosunu yüklemek, tanıtıcı ve Hızlandırıcılar'ı yeniden içine sayısını geçmesi için gerekli olan IOleControlImpl::GetControlInfove Denetim serbest bırakıldığında son tablo yok.
Örnek
// Example for overriding IOleControlImpl::GetControlInfo()
// This example uses the accelerator table from the project resources
// with the identifier IDR_ACCELTABLE
// Define GetControlInfo() in the header of your composite
// control class as follows:
STDMETHOD(GetControlInfo)(CONTROLINFO* pCI)
{
// Load the accelerator table from the resource
pCI->hAccel = LoadAccelerators(_AtlBaseModule.GetResourceInstance(),
MAKEINTRESOURCE(IDR_ACCELTABLE));
if (pCI->hAccel == NULL)
return E_FAIL;
// Get the number of accelerators in the table
pCI->cAccel = (USHORT)CopyAcceleratorTable(pCI->hAccel, NULL, 0);
// The following is optional if you want your control
// to process the return and/or escape keys
// pCI.dwFlags = CTRLINFO_EATS_RETURN | CTRLINFO_EATS_ESCAPE;
pCI->dwFlags = 0;
return S_OK;
}
Devralma hiyerarşisi
WinBase
CComCompositeControl
Gereksinimler
Başlık: atlctl.h