Aracılığıyla paylaş


CAxDialogImpl Sınıfı

Bu sınıf, ActiveX denetimlerini barındıran bir iletişim kutusu (kalıcı veya modsuz) uygular.

Önemli

Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.

Sözdizimi

template <class T, class TBase = CWindow>
class ATL_NO_VTABLE CAxDialogImpl : public CDialogImplBaseT<TBase>

Parametreler

T
sınıfından CAxDialogImpltüretilen sınıfınız.

TBase
için CDialogImplBaseTtemel pencere sınıfı.

Üyeler

Genel Yöntemler

Veri Akışı Adı Açıklama
CAxDialogImpl::AdviseSinkMap Nesnenin havuz eşlemesi olay eşlemesindeki tüm girişleri önermek veya eklemesini açmak için bu yöntemi çağırın.
CAxDialogImpl::Create Bu yöntemi çağırarak modsuz bir iletişim kutusu oluşturun.
CAxDialogImpl::D estroyWindow Modsuz bir iletişim kutusunu yok etmek için bu yöntemi çağır.
CAxDialogImpl::D oModal Kalıcı bir iletişim kutusu oluşturmak için bu yöntemi çağırabilirsiniz.
CAxDialogImpl::EndDialog Kalıcı bir iletişim kutusunu yok etmek için bu yöntemi çağır.
CAxDialogImpl::GetDialogProc Geri çağırma işlevinin işaretçisini almak için bu yöntemi çağırın DialogProc .
CAxDialogImpl::GetIDD İletişim kutusu şablonu kaynak kimliğini almak için bu yöntemi çağırın
CAxDialogImpl::IsDialogMessage bir iletinin bu iletişim kutusuna yönelik olup olmadığını belirlemek ve varsa iletiyi işlemek için bu yöntemi çağırın.

Korumalı Veri Üyeleri

Veri Akışı Adı Açıklama
CAxDialogImpl::m_bModal Yalnızca hata ayıklama derlemelerinde bulunan ve iletişim kutusu kalıcıysa true olarak ayarlanmış bir değişken.

Açıklamalar

CAxDialogImpl kalıcı veya kalıcı olmayan bir iletişim kutusu oluşturmanıza olanak tanır. CAxDialogImpl , iletileri uygun işleyicilere yönlendirmek için varsayılan ileti eşlemesini kullanan iletişim kutusu yordamını sağlar.

CAxDialogImplCDialogImplBaseT, TBase (varsayılan olarakCWindow) ve CMessageMap'den türetilir.

Sınıfınızın iletişim kutusu şablonu kaynak kimliğini belirten bir IDD üyesi tanımlaması gerekir. Örneğin, Sınıf Ekle iletişim kutusunu kullanarak bir ATL İletişim Kutusu nesnesi eklemek sınıfınıza otomatik olarak aşağıdaki satırı ekler:

enum { IDD = IDD_MYDLG };

buradaMyDialog, ATL İletişim Kutusu Sihirbazı'na girilen Kısa addır.

Daha fazla bilgi için bkz . İletişim Kutusu Uygulama.

ile CAxDialogImpl oluşturulan kalıcı bir iletişim kutusundaki ActiveX denetiminin hızlandırıcı anahtarlarını desteklemediğini unutmayın. ile CAxDialogImploluşturulan bir iletişim kutusunda hızlandırıcı tuşlarını desteklemek için, modsuz bir iletişim kutusu oluşturun ve kendi ileti döngünüzü kullanarak, bir hızlandırıcı anahtarını işlemek üzere kuyruktan bir ileti aldıktan sonra CAxDialogImpl::IsDialogMessage kullanın.

hakkında CAxDialogImpldaha fazla bilgi için bkz . ATL Denetim Kapsaması SSS.

Devralma Hiyerarşisi

CMessageMap

TBase

CWindowImplRoot

CDialogImplBaseT

CAxDialogImpl

Gereksinimler

Üst bilgi: atlwin.h

CAxDialogImpl::AdviseSinkMap

Nesnenin havuz eşlemesi olay eşlemesindeki tüm girişleri önermek veya eklemesini açmak için bu yöntemi çağırın.

HRESULT AdviseSinkMap(bool bAdvise);

Parametreler

bVise ekle
Tüm havuz girdilerinin önerilmesi gerekiyorsa true olarak ayarlayın; tüm havuz girdileri unadvised olacaksa false.

Dönüş Değeri

Başarıda S_OK veya hatada HRESULT hatası döndürür.

CAxDialogImpl::Create

Bu yöntemi çağırarak modsuz bir iletişim kutusu oluşturun.

HWND Create(HWND hWndParent, LPARAM dwInitParam = NULL);
HWND Create(HWND hWndParent, RECT&, LPARAM dwInitParam = NULL);

Parametreler

hWndParent
[in] Sahip penceresinin tutamacı.

dwInitParam
[in] WM_INITDIALOG iletisinin lParam parametresindeki iletişim kutusuna geçirecek değeri belirtir.

RECT &
Bu parametre kullanılmaz. Bu parametre tarafından CComControlgeçirilir.

Dönüş Değeri

Yeni oluşturulan iletişim kutusunun tutamacı.

Açıklamalar

Bu iletişim kutusu nesneye CAxDialogImpl otomatik olarak eklenir. Kalıcı bir iletişim kutusu oluşturmak için DoModal çağrısı yapın.

İkinci geçersiz kılma yalnızca iletişim kutularının CComControl ile kullanılabilmesi için sağlanır.

CAxDialogImpl::D estroyWindow

Modsuz bir iletişim kutusunu yok etmek için bu yöntemi çağır.

BOOL DestroyWindow();

Dönüş Değeri

Pencere başarıyla yok edilirse TRUE; aksi takdirde YANLIŞ.

Açıklamalar

Kalıcı bir iletişim kutusunu yok etmek için aramayın DestroyWindow . Bunun yerine EndDialog'u arayın.

CAxDialogImpl::D oModal

Kalıcı bir iletişim kutusu oluşturmak için bu yöntemi çağırabilirsiniz.

INT_PTR DoModal(
    HWND hWndParent = ::GetActiveWindow(),
    LPARAM dwInitParam = NULL);

Parametreler

hWndParent
[in] Sahip penceresinin tutamacı. Varsayılan değer, GetActiveWindow Win32 işlevinin dönüş değeridir.

dwInitParam
[in] WM_INITDIALOG iletisinin lParam parametresindeki iletişim kutusuna geçirecek değeri belirtir.

Dönüş Değeri

Başarılı olursa, EndDialog çağrısında belirtilen nRetCode parametresinin değeri; aksi takdirde - 1.

Açıklamalar

Bu iletişim kutusu nesneye CAxDialogImpl otomatik olarak eklenir.

Modsuz bir iletişim kutusu oluşturmak için Oluştur'u arayın.

CAxDialogImpl::EndDialog

Kalıcı bir iletişim kutusunu yok etmek için bu yöntemi çağır.

BOOL EndDialog(int nRetCode);

Parametreler

nRetCode
[in] DoModal tarafından döndürülecek değer.

Dönüş Değeri

İletişim kutusu yok edilirse DOĞRU; aksi takdirde YANLIŞ.

Açıklamalar

EndDialog iletişim kutusu yordamı aracılığıyla çağrılmalıdır. İletişim kutusu yok edildikten sonra Windows, iletişim kutusunu oluşturan için dönüş değeri olarak nRetCode değerini DoModalkullanır.

Not

Modsuz bir iletişim kutusunu yok etmek için aramayın EndDialog . Bunun yerine DestroyWindow'u çağır.

CAxDialogImpl::GetDialogProc

Geri çağırma işlevinin işaretçisini almak için bu yöntemi çağırın DialogProc .

virtual DLGPROC GetDialogProc();

Dönüş Değeri

Geri çağırma işlevinin işaretçisini DialogProc döndürür.

Açıklamalar

DialogProc İşlev, uygulama tanımlı bir geri çağırma işlevidir.

CAxDialogImpl::GetIDD

İletişim kutusu şablonu kaynak kimliğini almak için bu yöntemi çağırın.

int GetIDD();

Dönüş Değeri

İletişim kutusu şablonu kaynak kimliğini döndürür.

CAxDialogImpl::IsDialogMessage

bir iletinin bu iletişim kutusuna yönelik olup olmadığını belirlemek ve varsa iletiyi işlemek için bu yöntemi çağırın.

BOOL IsDialogMessage(LPMSG pMsg);

Parametreler

pMsg
denetlenecek iletiyi içeren bir MSG yapısının işaretçisi.

Dönüş Değeri

İleti işlendiyse TRUE, aksi takdirde YANLIŞ döndürür.

Açıklamalar

Bu yöntem, bir ileti döngüsü içinden çağrılmaya yöneliktir.

CAxDialogImpl::m_bModal

Yalnızca hata ayıklama derlemelerinde bulunan ve iletişim kutusu kalıcıysa true olarak ayarlanmış bir değişken.

bool m_bModal;

Ayrıca bkz.

CDialogImpl Sınıfı
Sınıfa Genel Bakış