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 CAxDialogImpl
klasy .
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 CDialogImplBaseT
klasy , 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 CAxDialogImpl
za 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 CAxDialogImpl
programu , zobacz ATL Control Containment FAQ (Często zadawane pytania dotyczące zawierania kontrolek ATL).
Hierarchia dziedziczenia
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 CComControl
parametr .
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 DoModal
elementu , 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;