Udostępnij za pośrednictwem


Klasa CAxDialogImpl

Ta klasa implementuje okno dialogowe (modalne lub moderowe), które hostuje kontrolki ActiveX.

Ważne

Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.

Składnia

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

Parametry

T
Klasa pochodząca z CAxDialogImplklasy .

TBase
Klasa okna podstawowego dla klasy CDialogImplBaseT.

Elementy członkowskie

Metody publiczne

Nazwa/nazwisko opis
CAxDialogImpl::AdviseSinkMap Wywołaj tę metodę, aby doradzić lub cofnąć wszystkie wpisy na mapie zdarzeń ujścia obiektu.
CAxDialogImpl::Create Wywołaj tę metodę, aby utworzyć bez moderowe okno dialogowe.
CAxDialogImpl::D estroyWindow Wywołaj tę metodę, aby zniszczyć bez moderowe okno dialogowe.
CAxDialogImpl::D oModal Wywołaj tę metodę, aby utworzyć modalne okno dialogowe.
CAxDialogImpl::EndDialog Wywołaj tę metodę, aby zniszczyć modalne okno dialogowe.
CAxDialogImpl::GetDialogProc Wywołaj tę metodę, aby uzyskać wskaźnik do funkcji wywołania zwrotnego DialogProc .
CAxDialogImpl::GetIDD Wywołaj tę metodę, aby uzyskać identyfikator zasobu szablonu okna dialogowego
CAxDialogImpl::IsDialogMessage Wywołaj tę metodę, aby określić, czy komunikat jest przeznaczony dla tego okna dialogowego, a jeśli tak, przetworzy komunikat.

Chronione składowe danych

Nazwa/nazwisko opis
CAxDialogImpl::m_bModal Zmienna, która istnieje tylko w kompilacjach debugowania i jest ustawiona na wartość true, jeśli okno dialogowe jest modalne.

Uwagi

CAxDialogImpl umożliwia utworzenie modalnego lub moderowego okna dialogowego. CAxDialogImpl Zawiera procedurę okna dialogowego, która używa domyślnej mapy komunikatów do kierowania komunikatów do odpowiednich procedur obsługi.

CAxDialogImpl pochodzi z CDialogImplBaseTklasy , która z kolei pochodzi z bazy TBase (domyślnie CWindow) i CMessageMap.

Klasa musi zdefiniować składową identyfikatora identyfikatora, która określa identyfikator zasobu szablonu okna dialogowego. Na przykład dodanie obiektu okna dialogowego ATL przy użyciu okna dialogowego Dodawanie klasy automatycznie dodaje następujący wiersz do klasy:

enum { IDD = IDD_MYDLG };

gdzie MyDialog to krótka nazwa wprowadzona w Kreatorze okna dialogowego ATL.

Aby uzyskać więcej informacji, zobacz Implementowanie okna dialogowego .

Należy pamiętać, że kontrolka ActiveX w modalnym oknie dialogowym utworzonym za pomocą CAxDialogImpl polecenia nie będzie obsługiwać kluczy akceleratora. Aby obsługiwać klucze akceleratora w oknie dialogowym utworzonym CAxDialogImplza pomocą polecenia , utwórz okno dialogowe bez moderowania i, używając własnej pętli komunikatów, użyj polecenia CAxDialogImpl::IsDialogMessage po otrzymaniu komunikatu z kolejki w celu obsługi klucza akceleratora.

Aby uzyskać więcej informacji na temat CAxDialogImplprogramu , zobacz ATL Control Containment FAQ (Często zadawane pytania dotyczące zawierania kontrolek ATL).

Hierarchia dziedziczenia

CMessageMap

TBase

CWindowImplRoot

CDialogImplBaseT

CAxDialogImpl

Wymagania

Nagłówek: atlwin.h

CAxDialogImpl::AdviseSinkMap

Wywołaj tę metodę, aby doradzić lub cofnąć wszystkie wpisy na mapie zdarzeń ujścia obiektu.

HRESULT AdviseSinkMap(bool bAdvise);

Parametry

bAdvise
Ustaw wartość true, jeśli wszystkie wpisy ujścia mają być zalecane; false, jeśli wszystkie wpisy ujścia mają być nienadzorowane.

Wartość zwracana

Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.

CAxDialogImpl::Create

Wywołaj tę metodę, aby utworzyć bez moderowe okno dialogowe.

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

Parametry

hWndParent
[in] Dojście do okna właściciela.

dwInitParam
[in] Określa wartość, która ma być przekazywana do okna dialogowego w parametrze lParam komunikatu WM_INITDIALOG.

RECT &
Ten parametr nie jest używany. Ten parametr jest przekazywany przez CComControlparametr .

Wartość zwracana

Dojście do nowo utworzonego okna dialogowego.

Uwagi

To okno dialogowe jest automatycznie dołączane do CAxDialogImpl obiektu. Aby utworzyć modalne okno dialogowe, wywołaj metodę DoModal.

Drugie zastąpienie jest udostępniane tylko dlatego okna dialogowe mogą być używane z CComControl.

CAxDialogImpl::D estroyWindow

Wywołaj tę metodę, aby zniszczyć bez moderowe okno dialogowe.

BOOL DestroyWindow();

Wartość zwracana

WARTOŚĆ TRUE, jeśli okno zostało pomyślnie zniszczone; w przeciwnym razie FAŁSZ.

Uwagi

Nie należy wywoływać DestroyWindow , aby zniszczyć modalne okno dialogowe. Zamiast tego wywołaj metodę EndDialog .

CAxDialogImpl::D oModal

Wywołaj tę metodę, aby utworzyć modalne okno dialogowe.

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

Parametry

hWndParent
[in] Dojście do okna właściciela. Wartość domyślna to wartość zwracana przez funkcję GetActiveWindow Win32.

dwInitParam
[in] Określa wartość, która ma być przekazywana do okna dialogowego w parametrze lParam komunikatu WM_INITDIALOG.

Wartość zwracana

W przypadku powodzenia wartość parametru nRetCode określonego w wywołaniu metody EndDialog; w przeciwnym razie -1.

Uwagi

To okno dialogowe jest automatycznie dołączane do CAxDialogImpl obiektu.

Aby utworzyć okno dialogowe bez moderowania, wywołaj metodę Utwórz.

CAxDialogImpl::EndDialog

Wywołaj tę metodę, aby zniszczyć modalne okno dialogowe.

BOOL EndDialog(int nRetCode);

Parametry

nRetCode
[in] Wartość, która ma zostać zwrócona przez usługę DoModal.

Wartość zwracana

WARTOŚĆ TRUE, jeśli okno dialogowe zostanie zniszczone; w przeciwnym razie, FAŁSZ.

Uwagi

EndDialog należy wywołać za pomocą procedury okna dialogowego. Po zniszczeniu okna dialogowego system Windows używa wartości nRetCode jako wartości zwracanej dla DoModalelementu , która utworzyła okno dialogowe.

Uwaga

Nie należy wywoływać EndDialog , aby zniszczyć okno dialogowe bez moderowania. Wywołaj zamiast tego metodę DestroyWindow .

CAxDialogImpl::GetDialogProc

Wywołaj tę metodę, aby uzyskać wskaźnik do funkcji wywołania zwrotnego DialogProc .

virtual DLGPROC GetDialogProc();

Wartość zwracana

Zwraca wskaźnik do funkcji wywołania zwrotnego DialogProc .

Uwagi

Funkcja DialogProc jest funkcją wywołania zwrotnego zdefiniowaną przez aplikację.

CAxDialogImpl::GetIDD

Wywołaj tę metodę, aby uzyskać identyfikator zasobu szablonu okna dialogowego.

int GetIDD();

Wartość zwracana

Zwraca identyfikator zasobu szablonu okna dialogowego.

CAxDialogImpl::IsDialogMessage

Wywołaj tę metodę, aby określić, czy komunikat jest przeznaczony dla tego okna dialogowego, a jeśli tak, przetworzy komunikat.

BOOL IsDialogMessage(LPMSG pMsg);

Parametry

PMsg
Wskaźnik do struktury MSG , która zawiera komunikat do sprawdzenia.

Wartość zwracana

Zwraca wartość TRUE, jeśli komunikat został przetworzony, w przeciwnym razie wartość FALSE.

Uwagi

Ta metoda ma być wywoływana z wewnątrz pętli komunikatów.

CAxDialogImpl::m_bModal

Zmienna, która istnieje tylko w kompilacjach debugowania i jest ustawiona na wartość true, jeśli okno dialogowe jest modalne.

bool m_bModal;

Zobacz też

Klasa CDialogImpl
Omówienie klasy