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 CAxDialogImpl
tématu Nejčastější dotazy k zahrnutí ovládacích prvků KNIHOVNY ATL.
Hierarchie dědičnosti
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;