Sdílet prostřednictvím


CAxDialogImpl – třída

Tato třída implementuje dialogové okno (modální nebo bez režimu), které hostuje ovládací prvky ActiveX.

Důležité

Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.

Syntaxe

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

Parametry

T
Vaše třída odvozená z CAxDialogImpl.

TBase
Základní třída okna pro CDialogImplBaseT.

Členové

Veřejné metody

Název Popis
CAxDialogImpl::AdviseSinkMap Volejte tuto metodu, která doporučuje nebo neunadvise všechny položky v mapě události mapy jímky objektu.
CAxDialogImpl::Create Voláním této metody vytvoříte bezmodální dialogové okno.
CAxDialogImpl::D estroyWindow Voláním této metody zničíte bezmodální dialogové okno.
CAxDialogImpl::D oModal Voláním této metody vytvoříte modální dialogové okno.
CAxDialogImpl::EndDialog Voláním této metody zničíte modální dialogové okno.
CAxDialogImpl::GetDialogProc Voláním této metody získáte ukazatel na funkci zpětného DialogProc volání.
CAxDialogImpl::GetIDD Voláním této metody získáte ID prostředku šablony dialogového okna.
CAxDialogImpl::IsDialogMessage Voláním této metody určíte, zda je zpráva určena pro toto dialogové okno, a pokud ano, zpracovat zprávu.

Chráněné datové členy

Název Popis
CAxDialogImpl::m_bModal Proměnná, která existuje pouze v buildech ladění a je nastavena na hodnotu true, pokud je dialogové okno modální.

Poznámky

CAxDialogImpl umožňuje vytvořit modální nebo bezmodální dialogové okno. CAxDialogImpl poskytuje proceduru dialogového okna, která používá výchozí mapování zpráv pro směrování zpráv na příslušné obslužné rutiny.

CAxDialogImpl je odvozena od CDialogImplBaseT, který je odvozen od TBase (ve výchozím nastavení CWindow) a CMessageMap.

Třída musí definovat člena IDD, který určuje ID prostředku šablony dialogového okna. Například přidání objektu dialogového okna ATL pomocí dialogového okna Přidat třídu automaticky přidá do třídy následující řádek:

enum { IDD = IDD_MYDLG };

kde MyDialog je krátký název zadaný v Průvodci dialogem ATL.

Další informace najdete v tématu Implementace dialogového okna .

Všimněte si, že ovládací prvek ActiveX v modálním dialogovém okně vytvořeném pomocí CAxDialogImpl nepodporuje klávesy akcelerátoru. Chcete-li podporovat akcelerační klíče v dialogovém okně vytvořeném pomocí CAxDialogImpl, vytvořte bezmodální dialogové okno a pomocí vlastní smyčky zpráv použijte CAxDialogImpl::IsDialogMessage po získání zprávy z fronty pro zpracování klíče akcelerátoru.

Další informace najdete v CAxDialogImpltématu Nejčastější dotazy k zahrnutí ovládacích prvků KNIHOVNY ATL.

Hierarchie dědičnosti

CMessageMap

TBase

CWindowImplRoot

CDialogImplBaseT

CAxDialogImpl

Požadavky

Hlavička: atlwin.h

CAxDialogImpl::AdviseSinkMap

Volejte tuto metodu, která doporučuje nebo neunadvise všechny položky v mapě události mapy jímky objektu.

HRESULT AdviseSinkMap(bool bAdvise);

Parametry

bAdvise
Pokud mají být všechny položky jímky doporučeny, je nastavena na hodnotu true; false, pokud všechny položky jímky mají být nepřipozorovány.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

CAxDialogImpl::Create

Voláním této metody vytvoříte bezmodální dialogové okno.

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

Parametry

hWndParent
[v] Popisovač okna vlastníka.

dwInitParam
[v] Určuje hodnotu, která se má předat do dialogového okna v parametru lParam zprávy WM_INITDIALOG.

RECT&
Tento parametr není používán. Tento parametr je předán parametrem CComControl.

Návratová hodnota

Popisovač nově vytvořeného dialogového okna.

Poznámky

Toto dialogové okno je automaticky připojeno k objektu CAxDialogImpl . Chcete-li vytvořit modální dialogové okno, zavolejte DoModal.

Druhé přepsání je poskytováno pouze proto, že dialogová okna lze použít s CComControl.

CAxDialogImpl::D estroyWindow

Voláním této metody zničíte bezmodální dialogové okno.

BOOL DestroyWindow();

Návratová hodnota

TRUE, pokud okno je úspěšně zničeno; jinak NEPRAVDA.

Poznámky

Nevolejte DestroyWindow zničit modální dialogové okno. Místo toho volejte EndDialog .

CAxDialogImpl::D oModal

Voláním této metody vytvoříte modální dialogové okno.

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

Parametry

hWndParent
[v] Popisovač okna vlastníka. Výchozí hodnota je návratová hodnota GetActiveWindow Win32 funkce.

dwInitParam
[v] Určuje hodnotu, která se má předat do dialogového okna v parametru lParam zprávy WM_INITDIALOG.

Návratová hodnota

V případě úspěchu je hodnota parametru nRetCode zadaného ve volání EndDialog; jinak -1.

Poznámky

Toto dialogové okno je automaticky připojeno k objektu CAxDialogImpl .

Chcete-li vytvořit bezmodální dialogové okno, zavolejte vytvořit.

CAxDialogImpl::EndDialog

Voláním této metody zničíte modální dialogové okno.

BOOL EndDialog(int nRetCode);

Parametry

nRetCode
[v] Hodnota, kterou má vrátit DoModal.

Návratová hodnota

TRUE Pokud je dialogové okno zničeno; jinak NEPRAVDA.

Poznámky

EndDialog musí být volána prostřednictvím postupu dialogového okna. Po zničení dialogového okna systém Windows použije hodnotu nRetCode jako návratovou hodnotu pro DoModal, která vytvořila dialogové okno.

Poznámka:

Nevolejte EndDialog zničit bezmodální dialogové okno. Místo toho volejte DestroyWindow .

CAxDialogImpl::GetDialogProc

Voláním této metody získáte ukazatel na funkci zpětného DialogProc volání.

virtual DLGPROC GetDialogProc();

Návratová hodnota

Vrátí ukazatel na funkci zpětného DialogProc volání.

Poznámky

Funkce DialogProc je funkce zpětného volání definovaná aplikací.

CAxDialogImpl::GetIDD

Voláním této metody získáte ID prostředku šablony dialogového okna.

int GetIDD();

Návratová hodnota

Vrátí ID prostředku šablony dialogového okna.

CAxDialogImpl::IsDialogMessage

Voláním této metody určíte, zda je zpráva určena pro toto dialogové okno, a pokud ano, zpracovat zprávu.

BOOL IsDialogMessage(LPMSG pMsg);

Parametry

pMsg
Ukazatel na strukturu MSG , která obsahuje zprávu, která se má zkontrolovat.

Návratová hodnota

Vrátí hodnotu TRUE, pokud byla zpráva zpracována, jinak NEPRAVDA.

Poznámky

Tato metoda má být volána ze smyčky zprávy.

CAxDialogImpl::m_bModal

Proměnná, která existuje pouze v buildech ladění a je nastavena na hodnotu true, pokud je dialogové okno modální.

bool m_bModal;

Viz také

CDialogImpl – třída
Přehled třídy