Класс CAxDialogImpl
Этот класс реализует диалоговое окно (модальное или без режима), в котором размещаются элементы ActiveX.
Внимание
Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.
Синтаксис
template <class T, class TBase = CWindow>
class ATL_NO_VTABLE CAxDialogImpl : public CDialogImplBaseT<TBase>
Параметры
T
Класс, производный от CAxDialogImpl
.
TBase
Базовый класс окна для CDialogImplBaseT
.
Участники
Открытые методы
Имя | Описание |
---|---|
CAxDialogImpl::AdviseSinkMap | Вызовите этот метод, чтобы советовать или отменять все записи в карте событий карты приемника объекта. |
CAxDialogImpl::Create | Вызовите этот метод для создания диалогового окна без режима. |
CAxDialogImpl::D enostWindow | Вызовите этот метод, чтобы уничтожить диалоговое окно без режима. |
CAxDialogImpl::D oModal | Вызовите этот метод для создания модального диалогового окна. |
CAxDialogImpl::EndDialog | Вызовите этот метод для уничтожения модального диалогового окна. |
CAxDialogImpl::GetDialogProc | Вызовите этот метод, чтобы получить указатель на функцию обратного DialogProc вызова. |
CAxDialogImpl::GetIDD | Вызовите этот метод, чтобы получить идентификатор ресурса шаблона диалогового окна |
CAxDialogImpl::IsDialogMessage | Вызовите этот метод, чтобы определить, предназначено ли сообщение для этого диалогового окна и, если это так, обработать сообщение. |
Защищенные члены данных
Имя | Описание |
---|---|
CAxDialogImpl::m_bModal | Переменная, которая существует только в отладочных сборках и имеет значение true, если диалоговое окно является модальным. |
Замечания
CAxDialogImpl
позволяет создать модальное или безрежимное диалоговое окно. CAxDialogImpl
предоставляет процедуру диалогового окна, которая использует карту сообщений по умолчанию для направления сообщений в соответствующие обработчики.
CAxDialogImpl
производный от CDialogImplBaseT
, который, в свою очередь, является производным от TBase (по умолчанию) CWindow
и CMessageMap
.
Класс должен определить элемент IDD, указывающий идентификатор ресурса шаблона диалогового окна. Например, добавление объекта диалогового окна ATL с помощью диалогового окна "Добавление класса " автоматически добавляет в класс следующую строку:
enum { IDD = IDD_MYDLG };
где MyDialog
указано короткое имя , введенное в мастере диалоговых окон ATL.
Дополнительные сведения см . в разделе "Реализация диалогового окна ".
Обратите внимание, что элемент activeX в модальном диалоговом окне, созданном с CAxDialogImpl
помощью клавиш акселератора, не поддерживается. Чтобы поддерживать клавиши акселератора в диалоговом окне, созданном с CAxDialogImpl
помощью диалогового окна, создайте бессерверное диалоговое окно и, используя собственный цикл сообщений, используйте CAxDialogImpl::IsDialogMessage после получения сообщения из очереди для обработки ключа акселератора.
Дополнительные сведения см. в CAxDialogImpl
статье atL Control Containment FAQ.
Иерархия наследования
TBase
CWindowImplRoot
CDialogImplBaseT
CAxDialogImpl
Требования
Заголовок: atlwin.h
CAxDialogImpl::AdviseSinkMap
Вызовите этот метод, чтобы советовать или отменять все записи в карте событий карты приемника объекта.
HRESULT AdviseSinkMap(bool bAdvise);
Параметры
bAdvise
Задайте значение true, если все записи приемника должны быть рекомендуемы; Значение false, если все записи приемника должны быть неуправляемыми.
Возвращаемое значение
Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.
CAxDialogImpl::Create
Вызовите этот метод для создания диалогового окна без режима.
HWND Create(HWND hWndParent, LPARAM dwInitParam = NULL);
HWND Create(HWND hWndParent, RECT&, LPARAM dwInitParam = NULL);
Параметры
hWndParent
[in] Дескриптор окна владельца.
dwInitParam
[in] Указывает значение, которое нужно передать в диалоговое окно в параметре lParam сообщения WM_INITDIALOG.
RECT&
Этот параметр не используется. Этот параметр передается CComControl
в .
Возвращаемое значение
Дескриптор созданного диалогового окна.
Замечания
Это диалоговое окно автоматически присоединяется к объекту CAxDialogImpl
. Чтобы создать модальное диалоговое окно, вызовите DoModal.
Вторая переопределение предоставляется, поэтому диалоговые окна можно использовать с CComControl.
CAxDialogImpl::D enostWindow
Вызовите этот метод, чтобы уничтожить диалоговое окно без режима.
BOOL DestroyWindow();
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если окно успешно уничтожено; в противном случае ЗНАЧЕНИЕ FALSE.
Замечания
Не вызывайте DestroyWindow
модальное диалоговое окно. Вместо этого вызовите EndDialog .
CAxDialogImpl::D oModal
Вызовите этот метод для создания модального диалогового окна.
INT_PTR DoModal(
HWND hWndParent = ::GetActiveWindow(),
LPARAM dwInitParam = NULL);
Параметры
hWndParent
[in] Дескриптор окна владельца. Значение по умолчанию — возвращаемое значение функции GetActiveWindow Win32.
dwInitParam
[in] Указывает значение, которое нужно передать в диалоговое окно в параметре lParam сообщения WM_INITDIALOG.
Возвращаемое значение
В случае успешного выполнения значение параметра nRetCode , указанного в вызове EndDialog; в противном случае — значение -1.
Замечания
Это диалоговое окно автоматически присоединяется к объекту CAxDialogImpl
.
Чтобы создать диалоговое окно без режима, вызовите команду Create.
CAxDialogImpl::EndDialog
Вызовите этот метод для уничтожения модального диалогового окна.
BOOL EndDialog(int nRetCode);
Параметры
nRetCode
[in] Значение, возвращаемое DoModal.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если диалоговое окно уничтожено; в противном случае — ЗНАЧЕНИЕ FALSE.
Замечания
EndDialog
необходимо вызвать с помощью процедуры диалогового окна. После уничтожения диалогового окна Windows использует значение nRetCode в качестве возвращаемого значения DoModal
, для которого было создано диалоговое окно.
Примечание.
Не вызывайте EndDialog
диалоговое окно без режима. Вместо этого вызовите DestroyWindow .
CAxDialogImpl::GetDialogProc
Вызовите этот метод, чтобы получить указатель на функцию обратного DialogProc
вызова.
virtual DLGPROC GetDialogProc();
Возвращаемое значение
Возвращает указатель на функцию обратного DialogProc
вызова.
Замечания
Функция DialogProc
— это определяемая приложением функция обратного вызова.
CAxDialogImpl::GetIDD
Вызовите этот метод, чтобы получить идентификатор ресурса шаблона диалогового окна.
int GetIDD();
Возвращаемое значение
Возвращает идентификатор ресурса шаблона диалогового окна.
CAxDialogImpl::IsDialogMessage
Вызовите этот метод, чтобы определить, предназначено ли сообщение для этого диалогового окна и, если это так, обработать сообщение.
BOOL IsDialogMessage(LPMSG pMsg);
Параметры
pMsg
Указатель на структуру MSG , содержащую проверяемое сообщение.
Возвращаемое значение
Возвращает значение TRUE, если сообщение обработано, значение FALSE в противном случае.
Замечания
Этот метод предназначен для вызова из цикла сообщений.
CAxDialogImpl::m_bModal
Переменная, которая существует только в отладочных сборках и имеет значение true, если диалоговое окно является модальным.
bool m_bModal;