CContainedWindowT sınıfı
Bu sınıf, başka bir nesnenin içinde bulunan bir pencere uygular.
![]() |
---|
Bu sınıf ve üyeleri, Windows çalışma zamanında yürütmek uygulamalarda kullanılamaz. |
template <
class TBase= CWindow,
class TWinTraits= CControlWinTraits
>
class CContainedWindowT :
public TBase
Parametreler
TBase
Yeni sınıfınızın temel sınıfı.Varsayılan temel sınıfı olan CWindow.TWinTraits
Pencereniz için stilleri tanımlar nitelikler sınıf.Varsayılan, CControlWinTraits değeridir.
[!NOT]
CContainedWindow 'ın uzmanlığı olan CContainedWindowT.Temel sınıf veya nitelikler değiştirmek isterseniz, kullanmak CContainedWindowT doğrudan.
Üyeler
Ortak Oluşturucusu
Ad |
Description |
---|---|
Oluşturucu.Hangi ileti eşleme içerilen pencerenin iletileri işleyecek belirtmek için veri üyeleri başlatır. |
Public yöntemler
Ad |
Description |
---|---|
Bir pencere oluşturur. |
|
Varsayılan ileti işleme sağlar. |
|
Geçerli iletiyi döndürür. |
|
İçerilen penceresinin pencere sınıfı kaydeder. |
|
Pencere bir alt sınıfları. |
|
Hangi ileti eşleme içerilen pencere iletilerini işlemek için kullanılan değiştirir. |
|
Daha önce subclassed bir pencereyi getirir. |
|
(Statik) İçerilen penceresine gönderilen iletileri işler. |
Ortak veri üyeleri
Ad |
Description |
---|---|
Hangi ileti eşleme içerilen pencerenin iletileri işleyecek tanımlar. |
|
Yeni bir pencere sınıfı temel alır varolan bir pencere sınıfı adını belirtir. |
|
Pencere sınıfı'nın orijinal pencere yordamı için işaret ediyor. |
|
Noktalarını içeren nesne. |
Notlar
CContainedWindowTbaşka bir nesnenin içinde bulunan bir pencere uygular.CContainedWindowTkullanıcının ileti eşleme uygun işleyicileri doğrudan iletileri içeren nesne içinde pencere yordamı kullanır.Oluşturulurken, bir CContainedWindowT nesne belirttiğiniz ileti eşlemeye kullanılmalıdır.
CContainedWindowTVarolan bir pencere sınıfı tarafından superclassing yeni bir pencere oluşturmanıza olanak tanır.Create yöntemi ilk kayıtlarını kullanır ancak varolan bir sınıfa dayalı bir pencere sınıfı CContainedWindowT::WindowProc.Oluşturma bu yeni pencere sınıfını esas bir pencere oluşturur.Her bir örneği CContainedWindowT üst sınıf farklı pencere sınıfı olabilir.
CContainedWindowTAyrıca pencerenin alt sınıflara ayırma destekler.SubclassWindow Yöntemi ekler Varolan bir pencerede CContainedWindowT object ve pencere yordamı değiştirir CContainedWindowT::WindowProc.Her bir örneği CContainedWindowT farklı bir pencereye alt sınıfı olabilir.
[!NOT]
Herhangi verilen CContainedWindowT nesne, ya da call Create veya SubclassWindow.Her iki yöntem de aynı nesne üzerinde çağıracağı değil.
Kullandığınızda göre Ekle denetim seçenek atl Project Sihirbazı'nda, sihirbaz otomatik olarak ekleyecek bir CContainedWindowT denetimi gerçekleştiren sınıf için veri üyesi.Aşağıdaki örnekte içerilen pencerenin nasıl bildirilen gösterilmektedir:
public:
// Declare a contained window data member
CContainedWindow m_ctlEdit;
// Initialize the contained window:
// 1. Pass "Edit" to specify that the contained
// window should be based on the standard
// Windows Edit box
// 2. Pass 'this' pointer to specify that CAtlEdit
// contains the message map to be used for the
// contained window's message processing
// 3. Pass the identifier of the message map. '1'
// identifies the alternate message map declared
// with ALT_MSG_MAP(1)
CAtlEdit()
: m_ctlEdit(_T("Edit"), this, 1)
{
m_bWindowOnly = TRUE;
}
// Declare the default message map, identified by '0'
BEGIN_MSG_MAP(CAtlEdit)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
CHAIN_MSG_MAP(CComControl<CAtlEdit>)
// Declare an alternate message map, identified by '1'
ALT_MSG_MAP(1)
MESSAGE_HANDLER(WM_CHAR, OnChar)
END_MSG_MAP()
// Define OnCreate handler
// When the containing window receives a WM_CREATE
// message, create the contained window by calling
// CContainedWindow::Create
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/,
BOOL& /*bHandled*/)
{
RECT rc;
GetWindowRect(&rc);
rc.right -= rc.left;
rc.bottom -= rc.top;
rc.top = rc.left = 0;
m_ctlEdit.Create(m_hWnd, rc, _T("hello"), WS_CHILD | WS_VISIBLE |
ES_MULTILINE | ES_AUTOVSCROLL);
return 0;
}
Daha fazla bilgi |
Daha fazla bilgi için bkz: |
---|---|
Denetimleri oluşturma |
|
atl Windows kullanma |
|
atl Project Sihirbazı |
|
Windows |
Windows ve sonraki konularındaWindows SDK |
Devralma hiyerarşisi
TBase
CContainedWindowT
Gereksinimler
Başlık: atlwin.h