Класс CWinAppEx

CWinAppEx обрабатывает состояние приложения, сохраняет состояние в реестре, загружает состояние из реестра, инициализирует диспетчеры приложений и предоставляет ссылки на тех же диспетчеров приложений.

Дополнительные сведения см. в исходном коде, расположенном в папке mfc установки Visual Studio. Например, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

Синтаксис

class CWinAppEx : public CWinApp

Участники

Открытые конструкторы

Имя Описание
CWinAppEx::CWinAppEx Формирует объект CWinAppEx.

Открытые методы

Имя Описание
CWinAppEx::CleanState Удаляет сведения о приложении из реестра Windows.
CWinAppEx::EnableLoadWindowPlacement Указывает, будет ли приложение загружать начальный размер и расположение главного окна кадров из реестра.
CWinAppEx::EnableTearOffMenus Включает меню отключения для приложения.
CWinAppEx::EnableUserTools Позволяет пользователю создавать пользовательские команды меню в приложении.
CWinAppEx::ExitInstance Вызывается платформой из Run функции-члена, чтобы выйти из этого экземпляра приложения. (Переопределяет CWinApp::ExitInstance.)
CWinAppEx::GetBinary Считывает двоичные данные, связанные с указанным значением реестра.
CWinAppEx::GetContextMenuManager Возвращает указатель на глобальный CContextMenuManager объект.
CWinAppEx::GetDataVersion
CWinAppEx::GetDataVersionMajor Возвращает основную версию приложения, сохраненную в реестре Windows.
CWinAppEx::GetDataVersionMinor Возвращает дополнительную версию приложения, сохраненную в реестре Windows.
CWinAppEx::GetInt Считывает числовые данные, связанные с указанным значением из реестра.
CWinAppEx::GetKeyboardManager Возвращает указатель на глобальный CKeyboardManager объект.
CWinAppEx::GetMouseManager Возвращает указатель на глобальный CMouseManager объект.
CWinAppEx::GetObject Считывает CObjectпроизводные данные, связанные с указанным значением из реестра.
CWinAppEx::GetRegSectionPath Возвращает строку, которая представляет собой путь к разделу реестра. Этот путь объединяет предоставленный относительный путь с путем приложения.
CWinAppEx::GetRegistryBase Возвращает путь реестра для приложения.
CWinAppEx::GetSectionBinary Считывает двоичные данные, связанные с указанным ключом и значением из реестра.
CWinAppEx::GetSectionInt Считывает числовые данные из реестра, связанного с указанным ключом и значением.
CWinAppEx::GetSectionObject Считывает CObject данные, связанные с указанным ключом и значением из реестра.
CWinAppEx::GetSectionString Считывает строковые данные, связанные с указанным ключом и значением из реестра.
CWinAppEx::GetShellManager Возвращает указатель на глобальный CShellManager объект.
CWinAppEx::GetString Считывает строковые данные, связанные с указанным значением из реестра.
CWinAppEx::GetTooltipManager Возвращает указатель на глобальный CTooltipManager объект.
CWinAppEx::GetUserToolsManager Возвращает указатель на глобальный CUserToolsManager объект.
CWinAppEx::InitContextMenuManager Инициализирует объект CContextMenuManager.
CWinAppEx::InitKeyboardManager Инициализирует объект CKeyboardManager.
CWinAppEx::InitMouseManager Инициализирует объект CMouseManager.
CWinAppEx::InitShellManager Инициализирует CShellManager класс
CWinAppEx::InitTooltipManager Инициализирует CTooltipManager класс.
CWinAppEx::IsResourceSmartUpdate
CWinAppEx::IsStateExists Указывает, находится ли указанный раздел в реестре.
CWinAppEx::LoadState Загружает состояние приложения из реестра.
CWinAppEx::OnAppContextHelp Вызывается платформой, когда пользователь запрашивает справку контекста для диалогового окна настройки .
CWinAppEx::OnViewDoubleClick Вызывает определяемую пользователем команду, когда пользователь дважды щелкает в любом месте приложения.
CWinAppEx::OnWorkspaceIdle
CWinAppEx::SaveState Записывает состояние платформы приложений в реестр Windows.
CWinAppEx::SetRegistryBase Задает путь к разделу реестра по умолчанию. Этот раздел будет служить корнем для всех последующих вызовов реестра.
CWinAppEx::ShowPopupMenu Отображает всплывающее меню.
CWinAppEx::WriteBinary Записывает двоичные данные в указанное значение реестра.
CWinAppEx::WriteInt Записывает числовые данные в указанное значение реестра.
CWinAppEx::WriteObject Записывает данные, производные от CObject класса , в указанное значение реестра.
CWinAppEx::WriteSectionBinary Записывает двоичные данные в значение указанного раздела реестра.
CWinAppEx::WriteSectionInt Записывает числовые данные в значение указанного раздела реестра.
CWinAppEx::WriteSectionObject Записывает данные, производные от CObject класса, в значение указанного раздела реестра.
CWinAppEx::WriteSectionString Записывает строковые данные в значение указанного раздела реестра.
CWinAppEx::WriteString Записывает строковые данные в указанное значение реестра.

Защищенные методы

Имя Описание
CWinAppEx::LoadCustomState Вызывается платформой при загрузке состояния приложения.
CWinAppEx::LoadWindowPlacement Вызывается платформой при загрузке размера и расположения приложения из реестра. Загруженные данные включают размер и расположение основного кадра во время последнего закрытия приложения.
CWinAppEx::OnClosingMainFrame Вызывается платформой при обработке WM_CLOSEосновного окна фрейма.
CWinAppEx::PreLoadState Вызывается платформой непосредственно перед загрузкой состояния приложения.
CWinAppEx::PreSaveState Вызывается платформой непосредственно перед сохранением состояния приложения.
CWinAppEx::ReloadWindowPlacement Перезагрузит размер и расположение предоставленного окна из реестра
CWinAppEx::SaveCustomState Вызывается платформой после записи состояния приложения в реестр.
CWinAppEx::StoreWindowPlacement Вызывается платформой для записи размера и расположения основного кадра в реестр.

Элементы данных

Имя Описание
CWinAppEx::m_bForceImageReset Указывает, будет ли платформа сбрасывать все изображения панели инструментов при загрузке окна фрейма, содержащего панель инструментов.

Замечания

Большая часть функций, предоставляемых платформой MFC, зависит от CWinAppEx класса. Класс можно включить CWinAppEx в приложение одним из двух способов:

  • CWinAppEx Создайте класс в основном потоке.

  • Производный от основного класса CWinAppExприложения.

После включения CWinAppEx в приложение можно инициализировать любой из диспетчеров приложений. Перед использованием диспетчера приложений необходимо инициализировать его, вызвав соответствующий метод инициализации. Чтобы получить указатель на конкретный менеджер, вызовите связанный метод get. Класс CWinAppEx управляет следующими диспетчерами приложений: CMouseManager класс, класс, CContextMenuManager класс, CKeyboardManager класс,CUserToolsManagerкласс и CMenuTearOffManager класс.

Иерархия наследования

CObject

CCmdTarget

CWinThread

CWinApp

CWinAppEx

Требования

Заголовок.afxwinappex.h

CWinAppEx::CleanState

Удаляет все сведения о приложении из реестра Windows.

virtual BOOL CleanState(LPCTSTR lpszSectionName=NULL);

Параметры

lpszSectionName
[in] Строка, содержащая путь к разделу реестра.

Возвращаемое значение

Ненулевое значение, если метод выполнен успешно; в противном случае — 0.

Замечания

Этот метод очищает данные приложения из определенного раздела реестра. Можно указать раздел для очистки с помощью параметра lpszSectionName. Если lpszSectionName это NULLтак, этот метод будет использовать путь реестра по умолчанию, хранящийся в объекте CWinAppEx . Чтобы получить путь к реестру по умолчанию, используйте CWinAppEx::GetRegistryBase.

CWinAppEx::CWinAppEx

Формирует объект CWinAppEx.

CWinAppEx(BOOL bResourceSmartUpdate = FALSE);

Параметры

bResourceSmartUpdate
[in] Логический параметр, указывающий, должен ли объект рабочей области обнаруживать и обрабатывать обновления ресурсов.

Замечания

Класс CWinAppEx имеет методы инициализации, предоставляет функциональные возможности для сохранения и загрузки сведений о приложении в реестр и управления глобальными параметрами приложения. Он также позволяет использовать глобальные менеджеры, такие как CKeyboardManager класс и CUserToolsManager класс. Каждое приложение может иметь только один экземпляр CWinAppEx класса.

CWinAppEx::EnableLoadWindowPlacement

Указывает, будет ли приложение загружать начальный размер и расположение главного окна кадров из реестра.

void EnableLoadWindowPlacement(BOOL bEnable = TRUE);

Параметры

bEnable
[in] Указывает, загружает ли приложение начальный размер и расположение главного окна фрейма из реестра.

Замечания

По умолчанию размер и расположение основного кадра загружается из реестра вместе с другими параметрами приложения. Это происходит во время CWinAppEx::LoadState. Если вы не хотите загружать начальное размещение окна из реестра, вызовите этот метод с bEnable заданным значением FALSE.

CWinAppEx::EnableTearOffMenus

Создает и инициализирует CMenuTearOffManager объект.

BOOL EnableTearOffMenus(
    LPCTSTR lpszRegEntry,
    const UINT uiCmdFirst,
    const UINT uiCmdLast);

Параметры

lpszRegEntry
[in] Строка, содержащая путь к разделу реестра. Приложение использует этот раздел реестра для хранения сведений о отключаемых меню.

uiCmdFirst
[in] Первый идентификатор меню разрыва.

uiCmdLast
[in] Последний разорвать идентификатор меню.

Возвращаемое значение

TRUE Значение , CMenuTearOffManager если создано и инициализировано успешно; FALSE если произошла ошибка или CMenuTearOffManager уже существует.

Замечания

Используйте эту функцию, чтобы включить отключаемые меню в приложении. Эту функцию следует вызвать из InitInstance.

CWinAppEx::EnableUserTools

Позволяет пользователю создавать пользовательские команды меню, которые сокращают нажатия клавиш в приложении. Этот метод создает CUserToolsManager объект.

BOOL EnableUserTools(
    const UINT uiCmdToolsDummy,
    const UINT uiCmdFirst,
    const UINT uiCmdLast,
    CRuntimeClass* pToolRTC = RUNTIME_CLASS(CUserTool),
    UINT uArgMenuID = 0,
    UINT uInitDirMenuID = 0);

Параметры

uiCmdToolsDummy
[in] Целое число без знака, которое платформа использует в качестве заполнителя для идентификатора команды меню пользовательских инструментов.

uiCmdFirst
[in] Идентификатор команды для первой команды пользовательского инструмента.

uiCmdLast
[in] Идентификатор команды для последней команды пользовательского средства.

pToolRTC
[in] Класс, который CUserToolsManager объект использует для создания новых пользовательских инструментов.

uArgMenuID
[in] Идентификатор меню аргументов.

uInitDirMenuID
[in] Идентификатор меню для исходного каталога инструментов.

Возвращаемое значение

TRUEЗначение , если метод создает и инициализирует объект; FALSE если метод завершается ошибкой CUserToolsManager или CUserToolsManager если объект уже существует.

Замечания

При включении определяемых пользователем средств платформа автоматически поддерживает динамическое меню, которое можно расширить во время настройки. Платформа связывает каждый новый элемент с внешней командой. Платформа вызывает эти команды, когда пользователь выбирает соответствующий элемент в меню "Сервис ".

Каждый раз, когда пользователь добавляет новый элемент, платформа создает новый объект. Тип класса для нового объекта определяется pToolRTC. Тип pToolRTC класса должен быть производным CUserTool от класса.

Дополнительные сведения о средствах пользователя и их внедрении в приложение см. в разделе "Определяемые пользователем средства".

CWinAppEx::ExitInstance

virtual int ExitInstance();

Возвращаемое значение

Замечания

CWinAppEx::GetBinary

Считывает двоичные данные из указанного раздела реестра.

BOOL GetBinary(
    LPCTSTR lpszEntry,
    LPBYTE* ppData,
    UINT* pBytes);

Параметры

lpszEntry
[in] Строка, содержащая имя раздела реестра.

ppData
[out] Указатель на буфер, который метод заполняет двоичными данными.

pBytes
[out] Указатель на целое число без знака, которое используется методом для записи количества байтов, считываемых.

Возвращаемое значение

TRUE в случае успешного выполнения; FALSE Иначе.

Замечания

Этот метод считывает двоичные данные, записанные в реестр. Чтобы записать данные в реестр, используйте методы CWinAppEx::WriteBinary и CWinAppEx::WriteSectionBinary.

Параметр lpszEntry — это имя записи реестра, расположенной под разделом реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

CWinAppEx::GetContextMenuManager

Возвращает указатель на глобальный CContextMenuManager объект.

CContextMenuManager* GetContextMenuManager();

Возвращаемое значение

Указатель на глобальный CContextMenuManager объект.

Замечания

CContextMenuManager Если объект не инициализирован, эта функция вызывается CWinAppEx::InitContextMenuManager перед возвратом указателя.

CWinAppEx::GetDataVersion

int GetDataVersion() const;

Возвращаемое значение

Замечания

CWinAppEx::GetDataVersionMajor

Возвращает основную версию приложения, сохраненного в реестре Windows при вызове CWinAppEx::SaveState.

int GetDataVersionMajor() const;

Возвращаемое значение

Целочисленное значение, содержащее основной номер версии.

CWinAppEx::GetDataVersionMinor

Возвращает дополнительную версию приложения, сохраненного в реестре Windows при вызове CWinAppEx::SaveState.

int GetDataVersionMinor() const;

Возвращаемое значение

Целочисленное значение, содержащее дополнительный номер версии.

CWinAppEx::GetInt

Считывает целые данные из указанного раздела реестра.

int GetInt(
    LPCTSTR lpszEntry,
    int nDefault = 0);

Параметры

lpszEntry
[in] Строка, содержащая имя записи реестра.

nDefault
[in] Значение по умолчанию, возвращаемое методом, если указанная запись реестра не существует.

Возвращаемое значение

Данные реестра, если метод выполнен успешно; в противном случае nDefault.

Замечания

Этот метод считывает целые данные из реестра. Если целые данные, связанные с разделом реестра, не указаны lpszEntry, этот метод возвращается nDefault. Чтобы записать данные в реестр, используйте методы CWinAppEx::WriteSectionInt и CWinAppEx::WriteInt.

Параметр lpszEntry — это имя записи реестра, расположенной под разделом реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

CWinAppEx::GetKeyboardManager

Возвращает указатель на глобальный CKeyboardManager объект.

CKeyboardManager* GetKeyboardManager();

Возвращаемое значение

Указатель на глобальный CKeyboardManager объект.

Замечания

Если диспетчер клавиатуры не инициализирован, эта функция вызывается CWinAppEx::InitKeyboardManager перед возвратом указателя.

CWinAppEx::GetMouseManager

Возвращает указатель на глобальный CMouseManager объект.

CMouseManager* GetMouseManager();

Возвращаемое значение

Указатель на глобальный CMouseManager объект.

Замечания

Если диспетчер мыши не инициализирован, эта функция вызывается CWinAppEx::InitMouseManager перед возвратом указателя.

CWinAppEx::GetObject

Считывает CObjectпроизводные данные из реестра.

BOOL GetObject(
    LPCTSTR lpszEntry,
    CObject& obj);

Параметры

lpszEntry
[in] Строка, содержащая относительный путь записи реестра.

obj
[out] Ссылка на .CObject Этот метод использует эту ссылку для хранения данных реестра.

Возвращаемое значение

Ненулевое значение, если метод выполнен успешно; в противном случае — 0.

Замечания

Этот метод считывает данные из реестра, производных от CObject. Чтобы записать CObject данные в реестр, используйте либо CWinAppEx::WriteObjectCWinAppEx::WriteSectionObject.

Параметр lpszEntry — это имя записи реестра, расположенной под разделом реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

CWinAppEx::GetRegistryBase

Извлекает путь реестра по умолчанию для приложения.

LPCTSTR GetRegistryBase();

Возвращаемое значение

Строка, содержащая путь к расположению реестра по умолчанию.

Замечания

Все методы CWinAppEx класса , обращающееся к реестру, начинаются в расположении по умолчанию. Используйте этот метод, чтобы получить путь к расположению реестра по умолчанию. Используется CWinAppEx::SetRegistryBase для изменения расположения реестра по умолчанию.

CWinAppEx::GetRegSectionPath

Создает и возвращает абсолютный путь к разделу реестра.

CString GetRegSectionPath(LPCTSTR szSectionAdd = _T(""));

Параметры

szSectionAdd
[in] Строка, содержащая относительный путь к разделу реестра.

Возвращаемое значение

Значение CString , содержащее абсолютный путь к разделу реестра.

Замечания

Этот метод определяет абсолютный путь раздела реестра, добавляя относительный путь к szSectionAdd расположению реестра по умолчанию для приложения. Чтобы получить раздел реестра по умолчанию, используйте метод CWinAppEx::GetRegistryBase.

CWinAppEx::GetSectionBinary

Считывает двоичные данные из реестра.

BOOL GetSectionBinary(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPBYTE* ppData,
    UINT* pBytes);

Параметры

lpszSubSection
[in] Строка, содержащая относительный путь к разделу реестра.

lpszEntry
[in] Строка, содержащая значение для чтения.

ppData
[out] Указатель на буфер, в котором метод хранит данные.

pBytes
[out] Указатель на целое число без знака. Метод записывает размер ppData этого параметра.

Возвращаемое значение

Значение TRUE в случае успешного выполнения; в противном случае — значение FALSE.

Замечания

Этот метод считывает двоичные данные, записанные в реестр с помощью методов CWinAppEx::WriteBinary и CWinAppEx::WriteSectionBinary.

Параметр lpszSubSection не является абсолютным путем для записи реестра. Это относительный путь, который добавляется в конец раздела реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

CWinAppEx::GetSectionInt

Считывает целые данные из реестра.

int GetSectionInt(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    int nDefault = 0);

Параметры

lpszSubSection
[in] Строка, содержащая относительный путь к разделу реестра.

lpszEntry
[in] Строка, содержащая значение для чтения.

nDefault
[in] Значение по умолчанию, возвращаемое, если указанное значение не существует.

Возвращаемое значение

Целые данные, хранящиеся в указанном значении реестра; nDefault Значение , если данные не существуют.

Замечания

Используйте методы CWinAppEx::WriteInt и CWinAppEx::WriteSectionInt для записи целых данных в реестр.

Параметр lpszSubSection не является абсолютным путем записи реестра. Это относительный путь, добавленный в конец раздела реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

CWinAppEx::GetSectionObject

Считывает CObject данные реестра из реестра.

BOOL GetSectionObject(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    CObject& obj);

Параметры

lpszSubSection
[in] Строка, содержащая относительный путь к разделу реестра.

lpszEntry
[in] Строка, содержащая значение для чтения.

obj
[out] Ссылка на .CObject Этот метод используется CObject для хранения данных реестра.

Возвращаемое значение

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.

Замечания

Этот метод считывает данные из реестра. Чтение данных — CObject это данные или данные для класса, производного от CObject. Чтобы записать CObject данные в реестр, используйте либо CWinAppEx::WriteObjectCWinAppEx::WriteSectionObject.

Параметр lpszSubSection не является абсолютным путем для записи реестра. Это относительный путь, который добавляется в конец раздела реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

CWinAppEx::GetSectionString

Считывает строковые данные из реестра.

CString GetSectionString(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszDefault = _T(""));

Параметры

lpszSubSection
[in] Строка, содержащая относительный путь к разделу реестра.

lpszEntry
[in] Строка, содержащая значение для чтения.

lpszDefault
[in] Значение по умолчанию, возвращаемое, если указанное значение не существует.

Возвращаемое значение

Строковые данные, хранящиеся в указанном значении реестра, если данные существуют; в противном случае lpszDefault.

Замечания

Этот метод считывает строковые данные, записанные в реестр. Использование CWinAppEx::WriteString и CWinAppEx::WriteSectionString запись строковых данных в реестр.

Параметр lpszSubSection не является абсолютным путем для записи реестра. Это относительный путь, который добавляется в конец раздела реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

CWinAppEx::GetShellManager

Возвращает указатель на глобальный CShellManager объект.

CShellManager* GetShellManager();

Возвращаемое значение

Указатель на глобальный CShellManager объект.

Замечания

CShellManager Если объект не инициализирован, эта функция вызывается CWinAppEx::InitShellManager перед возвратом указателя.

CWinAppEx::GetString

Считывает строковые данные из указанного раздела реестра.

CString GetString(
    LPCTSTR lpszEntry,
    LPCTSTR lpzDefault= _T(""));

Параметры

lpszEntry
[in] Строка, содержащая имя раздела реестра

lpzDefault
[in] Значение по умолчанию, возвращаемое методом, если указанная запись реестра не существует.

Возвращаемое значение

Строковые данные, хранящиеся в реестре в случае успешного выполнения; lpszDefault Иначе.

Замечания

Этот метод считывает строковые данные, записанные в реестр. Чтобы записать данные в реестр, используйте методы CWinAppEx::WriteString или CWinAppEx::WriteSectionString.

Параметр lpszEntry — это имя записи реестра, расположенной под разделом реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

CWinAppEx::GetTooltipManager

Возвращает указатель на глобальный CTooltipManager объект.

CTooltipManager* GetTooltipManager();

Возвращаемое значение

Указатель на глобальный CTooltipManager объект.

Замечания

CTooltipManager Если объект не инициализирован, эта функция вызывается CWinAppEx::InitTooltipManager перед возвратом указателя.

CWinAppEx::GetUserToolsManager

Возвращает указатель на глобальный CUserToolsManager объект.

CUserToolsManager* GetUserToolsManager();

Возвращаемое значение

Указатель на глобальный CUserToolsManager объект; NULL если управление пользовательскими инструментами не включено для приложения.

Замечания

Перед получением указателя на CUserToolsManager объект необходимо инициализировать диспетчер путем вызова CWinAppEx::EnableUserTools.

CWinAppEx::InitContextMenuManager

Инициализирует объект CContextMenuManager.

BOOL InitContextMenuManager();

Возвращаемое значение

Ненулевое значение, если метод создает CContextMenuManager объект; 0, если CContextMenuManager объект уже существует.

Замечания

При вызове CWinAppEx::GetContextMenuManagerреализация этого метода по умолчанию вызывается InitContextMenuManager.

Если приложение уже имеет диспетчер контекстного меню и вызывается InitContextMenuManager, приложение завершится сбоем ASSERT . Поэтому не следует вызывать InitContextMenuManager , если вы создаете объект напрямую CContextMenuManager . Если вы не используете настраиваемый CContextMenuManagerобъект, следует использовать GetContextMenuManager для создания CContextMenuManager объекта.

CWinAppEx::InitKeyboardManager

Инициализирует объект CKeyboardManager.

BOOL InitKeyboardManager();

Возвращаемое значение

Ненулевое значение, если метод создает CKeyboardManager объект; 0, если CKeyboardManager объект уже существует.

Замечания

При вызове CWinAppEx::GetKeyboardManagerреализация этого метода по умолчанию вызывается InitKeyboardManager.

Если у приложения уже есть диспетчер клавиатуры и вы вызываете InitKeyboardManager, приложение завершится сбоем ASSERT . Поэтому не следует вызывать InitKeyboardManager , если вы создаете объект напрямую CKeyboardManager . Если вы не используете настраиваемый CKeyboardManagerобъект, следует использовать GetKeyboardManager для создания CKeyboardManager объекта.

CWinAppEx::InitMouseManager

Инициализирует объект CMouseManager.

BOOL InitMouseManager();

Возвращаемое значение

Ненулевое значение, если метод создает CMouseManager объект; 0, если CMouseManager объект уже существует.

Замечания

При вызове CWinAppEx::GetMouseManagerреализация этого метода по умолчанию вызывается InitMouseManager.

Если приложение уже имеет диспетчер мыши и вызывается InitMouseManager, приложение будет иметь сбой ASSERT . Поэтому не следует вызывать InitMouseManager , если вы создаете объект напрямую CMouseManager . Если вы не используете настраиваемый CMouseManagerобъект, следует использовать GetMouseManager для создания CMouseManager объекта.

CWinAppEx::InitShellManager

Инициализирует объект CShellManager.

BOOL InitShellManager();

Возвращаемое значение

Ненулевое значение, если метод создает CShellManager объект; 0, если CShellManager объект уже существует.

Замечания

При вызове CWinAppEx::GetShellManagerреализация этого метода по умолчанию вызывается InitShellManager.

Если приложение уже имеет диспетчер оболочки и вызывается InitShellManager, приложение вызывает сбой ASSERT . Поэтому не вызывайте InitShellManager , если вы создаете объект напрямую CShellManager . Если вы не используете настраиваемый CShellManagerобъект, используйте GetShellManager для создания CShellManager объекта.

CWinAppEx::InitTooltipManager

Инициализирует объект CTooltipManager.

BOOL InitTooltipManager();

Возвращаемое значение

Ненулевое значение, если метод создает CTooltipManager объект; 0, если CTooltipManager объект уже существует.

Замечания

При вызове CWinAppEx::GetTooltipManagerреализация этого метода по умолчанию вызывается InitTooltipManager.

Если у приложения уже есть диспетчер подсказок и вы вызываете InitTooltipManagerего, приложение будет иметь сбой ASSERT . Поэтому не следует вызывать InitTooltipManager , если вы создаете объект напрямую CTooltipManager . Если вы не используете настраиваемый CTooltipManagerобъект, следует использовать GetTooltipManager для создания CTooltipManager объекта.

CWinAppEx::IsResourceSmartUpdate

BOOL IsResourceSmartUpdate() const;

Возвращаемое значение

Замечания

CWinAppEx::IsStateExists

Указывает, находится ли указанный раздел в реестре.

BOOL IsStateExists(LPCTSTR lpszSectionName);

Параметры

lpszSectionName
[in] Строка, содержащая путь к разделу реестра.

Возвращаемое значение

Ненулевое значение, если ключ находится в реестре; в противном случае — 0.

CWinAppEx::LoadCustomState

Платформа вызывает этот метод после загрузки состояния приложения из реестра.

virtual void LoadCustomState();

Замечания

Переопределите этот метод, если вы хотите выполнить любую обработку после загрузки приложения состояния из реестра. По умолчанию этот метод не выполняет никаких действий.

Чтобы загрузить пользовательские сведения о состоянии из реестра, необходимо сначала сохранить данные с помощью CWinAppEx::SaveCustomState.

CWinAppEx::LoadState

Считывает состояние приложения из реестра Windows.

BOOL LoadState(
    CMDIFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL LoadState(
    CFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL LoadState(
    COleIPFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

virtual BOOL LoadState(
    LPCTSTR lpszSectionName = NULL,
    CFrameImpl* pFrameImpl = NULL);

Параметры

pFrame
[in] Указатель на объект окна кадра. Метод применяет сведения о состоянии в реестре к этому окну фрейма.

lpszSectionName
[in] Строка, содержащая относительный путь к разделу реестра.

pFrameImpl
[in] Указатель на CFrameImpl объект. Метод применяет сведения о состоянии в реестре к этому окну фрейма.

Возвращаемое значение

Ненулевое значение в случае успешного выполнения. В противном случае — 0.

Замечания

Этот метод загружает состояние приложения и все сведения о состоянии для окна кадра. Загруженные сведения для окна фрейма применяются к предоставленному окну фрейма. Если окно кадра не задано, загружается только информация о состоянии приложения. Сведения о приложении включают состояние CMouseManager класса, класса,CContextMenuManagerкласса,CKeyboardManagerкласса и CUserToolsManager класса.

Реализация вызовов CFrameImpl::OnLoadFrameLoadStateпо умолчанию.

Параметр lpszSectionName не является абсолютным путем для записи реестра. Это относительный путь, добавленный в конец раздела реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

CWinAppEx::LoadWindowPlacement

Вызывается платформой при загрузке размера и расположения главного окна кадров из реестра.

virtual BOOL LoadWindowPlacement(
    CRect& rectNormalPosition,
    int& nFlags,
    int& nShowCmd);

Параметры

rectNormalPosition
[out] Прямоугольник, содержащий координаты главного окна фрейма, когда он находится в восстановленном положении.

nFlags
[out] Флаги, управляющие положением свернутого окна и способом переключения операционной системы между свернутым окном и восстановленным окном.

nShowCmd
[out] Целое число, указывающее состояние отображения окна. Дополнительные сведения о возможных значениях см. в разделе CWnd::ShowWindow.

Возвращаемое значение

Ненулевое значение в случае успешного выполнения. В противном случае — 0.

Замечания

По умолчанию MFC автоматически загружает предыдущую позицию и состояние окна основного кадра при запуске приложения. Дополнительные сведения о том, как эти сведения хранятся в реестре, см. в разделе CWinAppEx::StoreWindowPlacement.

Переопределите этот метод, если вы хотите загрузить дополнительные сведения о окне основного кадра.

CWinAppEx::m_bForceImageReset

Указывает, сбрасывает ли платформа все образы панели инструментов при перезагрузке окна кадра, содержащего панель инструментов.

BOOL m_bForceImageReset;

Замечания

Элемент m_bForceImageReset данных — это защищенная переменная.

CWinAppEx::OnAppContextHelp

Платформа вызывает этот метод, когда пользователь запрашивает справку контекста для диалогового окна "Настройка ".

virtual void OnAppContextHelp(
    CWnd* pWndControl,
    const DWORD dwHelpIDArray[]);

Параметры

pWndControl
[in] Указатель на объект окна, для которого пользователь вызвал справку контекста.

dwHelpIDArray[]
[in] Зарезервированное значение.

Замечания

Этот метод в настоящее время зарезервирован для дальнейшего использования. Реализация по умолчанию ничего не делает, и в настоящее время она не вызывается платформой.

CWinAppEx::OnClosingMainFrame

Платформа вызывает этот метод при обработке WM_CLOSEокна фрейма.

virtual void OnClosingMainFrame(CFrameImpl* pFrameImpl);

Параметры

pFrameImpl
[in] Указатель на CFrameImpl объект.

Замечания

Реализация этого метода по умолчанию сохраняет состояние pFrameImpl.

CWinAppEx::OnViewDoubleClick

Вызывает определяемую пользователем команду, связанную с представлением, когда пользователь дважды щелкает в любом месте в этом представлении.

virtual BOOL OnViewDoubleClick(
    CWnd* pWnd,
    int iViewId);

Параметры

pWnd
[in] Указатель на объект, производный от CView класса.

iViewId
[in] Идентификатор представления.

Возвращаемое значение

TRUE Значение , если платформа находит команду; в противном случае FALSE.

Замечания

Для поддержки пользовательского поведения мыши при обработке WM_LBUTTONDBLCLK сообщения необходимо вызвать эту функцию. Этот метод выполнит команду, связанную с идентификатором представления, предоставленным iViewId. Дополнительные сведения о пользовательском поведении мыши см. в разделе "Настройка клавиатуры и мыши".

CWinAppEx::OnWorkspaceIdle

virtual BOOL OnWorkspaceIdle(CWnd*);

Параметры

[входной] CWnd*\

Возвращаемое значение

Замечания

CWinAppEx::PreLoadState

Платформа вызывает этот метод непосредственно перед загрузкой состояния приложения из реестра.

virtual void PreLoadState();

Замечания

Переопределите этот метод, если вы хотите выполнить любую обработку непосредственно перед загрузкой состояния приложения платформой.

CWinAppEx::PreSaveState

Платформа вызывает этот метод непосредственно перед сохранением состояния приложения.

virtual void PreSaveState();

Замечания

Переопределите этот метод, если вы хотите выполнить любую обработку непосредственно перед сохранением состояния приложения.

CWinAppEx::ReloadWindowPlacement

Перезагрузит размер и расположение окна из реестра.

virtual BOOL ReloadWindowPlacement(CFrameWnd* pFrame);

Параметры

pFrame
[in] Указатель на окно кадра.

Возвращаемое значение

Ненулевое значение, если метод выполнен успешно; 0, если загрузка завершилась сбоем или нет данных для загрузки.

Замечания

Используйте функцию CWinAppEx::StoreWindowPlacement для записи размера и расположения окна в реестр.

CWinAppEx::SaveCustomState

Платформа вызывает этот метод после сохранения состояния приложения в реестре.

virtual void SaveCustomState();

Замечания

Переопределите этот метод, если вы хотите выполнить любую обработку после сохранения состояния приложения в реестре. По умолчанию этот метод не выполняет никаких действий.

CWinAppEx::SaveState

Записывает состояние приложения в реестр Windows.

virtual BOOL SaveState(
    LPCTSTR lpszSectionName = NULL,
    CFrameImpl* pFrameImpl = NULL);

BOOL SaveState(
    CMDIFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL SaveState(
    CFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

BOOL SaveState(
    COleIPFrameWndEx* pFrame,
    LPCTSTR lpszSectionName = NULL);

Параметры

lpszSectionName
[in] Строка, содержащая относительный путь к разделу реестра.

pFrameImpl
[in] Указатель на CFrameImpl объект. Этот кадр сохраняется в реестре Windows.

pFrame
[in] Указатель на объект окна кадра. Этот кадр сохраняется в реестре Windows.

Возвращаемое значение

TRUE в случае успешного выполнения; FALSE Иначе.

Замечания

Этот метод сохраняет состояние приложения и все сведения о состоянии для предоставленного окна фрейма. Если окно кадра не предоставлено, метод сохраняет только состояние приложения. Сведения о приложении включают состояние CMouseManager класса, класса,CContextMenuManagerкласса,CKeyboardManagerкласса и CUserToolsManager класса.

Параметр lpszSectionName не является абсолютным путем для записи реестра. Это относительный путь, который добавляется в конец раздела реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

CWinAppEx::SetRegistryBase

Задает путь реестра по умолчанию для приложения.

LPCTSTR SetRegistryBase(LPCTSTR lpszSectionName = NULL);

Параметры

lpszSectionName
[in] Строка, содержащая путь к разделу реестра.

Возвращаемое значение

Строка, содержащая путь к расположению реестра по умолчанию.

Замечания

Все методы CWinAppEx класса , обращающееся к реестру, начинаются в расположении по умолчанию. Используйте этот метод, чтобы изменить расположение реестра по умолчанию. Используется CWinAppEx::GetRegistryBase для получения расположения реестра по умолчанию.

CWinAppEx::ShowPopupMenu

Отображает всплывающее меню.

virtual BOOL ShowPopupMenu(
    UINT uiMenuResId,
    const CPoint& point,
    CWnd* pWnd);

Параметры

uiMenuResId
[in] Идентификатор ресурса меню.

point
[in] Значение, CPoint указывающее положение меню в координатах экрана.

pWnd
[in] Указатель на окно, которое принадлежит всплывающему меню.

Возвращаемое значение

Ненулевое значение, если всплывающее меню отображается успешно; 0 в противном случае.

Замечания

Этот метод отображает меню, связанное с uiMenuResId.

Для поддержки всплывающих меню необходимо иметь CContextMenuManager объект. Если объект не инициализирован, ShowPopupMenu завершится ошибкойCContextMenuManager.

CWinAppEx::StoreWindowPlacement

Вызывается платформой для записи размера и расположения главного окна фрейма в реестр.

virtual BOOL StoreWindowPlacement(
    const CRect& rectNormalPosition,
    int nFlags,
    int nShowCmd);

Параметры

nFlags
[in] Флаги, управляющие положением свернутого окна и способом переключения операционной системы между свернутым окном и восстановленным окном.

nShowCmd
[in] Целое число, указывающее состояние отображения окна. Дополнительные сведения о возможных значениях см. в разделе CWnd::ShowWindow.

rectNormalPosition
[in] Прямоугольник, содержащий координаты главного окна фрейма, когда он находится в восстановленном состоянии.

Возвращаемое значение

Ненулевое значение в случае успешного выполнения. В противном случае — 0.

Замечания

По умолчанию MFC автоматически сохраняет положение и состояние окна основного кадра перед выходом приложения. Эти сведения хранятся в реестре Windows в разделе WindowPlacement в расположении реестра по умолчанию для приложения. Дополнительные сведения о расположении реестра по умолчанию приложения см. в статье CWinAppEx::GetRegistryBase.

Переопределите этот метод, если вы хотите сохранить дополнительные сведения о окне основного кадра.

CWinAppEx::WriteBinary

Записывает двоичные данные в реестр.

BOOL WriteBinary(
    LPCTSTR lpszEntry,
    LPBYTE pData,
    UINT nBytes);

Параметры

lpszEntry
[in] Строка, содержащая имя раздела реестра.

pData
[in] Данные для хранения.

nBytes
[in] Размер pData в байтах.

Возвращаемое значение

TRUE Значение , если этот метод выполнен успешно; в противном случае FALSE.

Замечания

Параметр lpszEntry — это имя записи реестра, расположенной под разделом реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

Если ключ, указанный lpszEntry не существует, этот метод создаст его.

CWinAppEx::WriteInt

Записывает числовые данные в реестр.

BOOL WriteInt(
    LPCTSTR lpszEntry,
    int nValue);

Параметры

lpszEntry
[in] Строка, содержащая имя раздела реестра.

nValue
[in] Данные для хранения.

Возвращаемое значение

TRUE Значение , если этот метод выполнен успешно; в противном случае FALSE.

Замечания

Параметр lpszEntry — это имя записи реестра, расположенной под разделом реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

Если ключ, указанный lpszEntry не существует, этот метод создаст его.

CWinAppEx::WriteObject

Записывает данные, производные CObject от класса в реестр.

BOOL WriteObject(
    LPCTSTR lpszEntry,
    CObject& obj);

Параметры

lpszEntry
[in] Строка, содержащая заданное значение.

obj
[in] Ссылка на CObject данные, которые будет хранить метод.

Возвращаемое значение

TRUE Значение , если этот метод выполнен успешно; в противном случае FALSE.

Замечания

Этот метод записывает obj данные в указанное значение в разделе реестра по умолчанию. Используется CWinAppEx::GetRegistryBase для определения текущего раздела реестра.

CWinAppEx::WriteSectionBinary

Записывает двоичные данные в значение в реестре.

BOOL WriteSectionBinary(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPBYTE pData,
    UINT nBytes);

Параметры

lpszSubSection
[in] Строка, содержащая имя раздела реестра

lpszEntry
[in] Строка, содержащая заданное значение.

pData
[in] Данные для записи в реестр.

nBytes
[in] Размер pData в байтах.

Возвращаемое значение

TRUE Значение , если этот метод выполнен успешно; в противном случае FALSE.

Замечания

Параметр lpszSubSection не является абсолютным путем для записи реестра. Это относительный путь, который добавляется в конец раздела реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

Если ключ, указанный lpszEntry не существует, этот метод создаст его.

CWinAppEx::WriteSectionInt

Записывает числовые данные в реестр.

BOOL WriteSectionInt(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    int nValue);

Параметры

lpszSubSection
[in] Строка, содержащая относительный путь к разделу реестра.

lpszEntry
[in] Строка, содержащая заданное значение.

nValue
[in] Данные для записи в реестр.

Возвращаемое значение

TRUE Значение , если этот метод выполнен успешно; в противном случае FALSE.

Замечания

Параметр lpszSubSection не является абсолютным путем для записи реестра. Это относительный путь, добавляемый к разделу реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

Если ключ, указанный lpszEntry не существует, этот метод создаст его.

CWinAppEx::WriteSectionObject

Записывает данные, производные CObject от класса , в определенное значение реестра.

BOOL WriteSectionObject(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    CObject& obj);

Параметры

lpszSubSection
[in] Строка, содержащая имя раздела реестра.

lpszEntry
[in] Строка, содержащая имя заданного значения.

obj
[in] Данные для хранения.

Возвращаемое значение

TRUE Значение , если этот метод выполнен успешно; в противном случае FALSE.

Замечания

Параметр lpszSubSection не является абсолютным путем для записи реестра. Это относительный путь, который добавляется в конец раздела реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBaseсоответственно.

Если значение, указанное lpszEntry не существует в разделе реестра, указанном в lpszSubSectionэтом методе, будет создано это значение.

CWinAppEx::WriteSectionString

Записывает строковые данные в значение в реестре.

BOOL WriteSectionString(
    LPCTSTR lpszSubSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszValue);

Параметры

lpszSubSection
[in] Строка, содержащая имя раздела реестра.

lpszEntry
[in] Строка, содержащая заданное значение.

lpszValue
[in] Строковые данные для записи в реестр.

Возвращаемое значение

TRUE Значение , если этот метод выполнен успешно; в противном случае FALSE.

Замечания

Параметр lpszSubSection не является абсолютным путем для записи реестра. Это относительный путь, который добавляется в конец раздела реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBaseсоответственно.

Если значение, указанное lpszEntry в нем, не существует lpszSubSection, этот метод создаст его.

CWinAppEx::WriteString

Записывает строковые данные в реестр.

BOOL WriteString(
    LPCTSTR lpszEntry,
    LPCTSTR lpszValue);

Параметры

lpszEntry
[in] Строка, содержащая имя раздела реестра.

lpszValue
[in] Данные для хранения.

Возвращаемое значение

TRUE Значение , если этот метод выполнен успешно; в противном случае FALSE.

Замечания

Параметр lpszEntry — это имя записи реестра, расположенной под разделом реестра по умолчанию для приложения. Чтобы получить или задать раздел реестра по умолчанию, используйте методы CWinAppEx::GetRegistryBase и CWinAppEx::SetRegistryBase соответственно.

Если ключ, указанный lspzEntry не существует, этот метод создаст его.

См. также

Диаграмма иерархии
Классы
CWinApp Класса
CMouseManager Класса
CContextMenuManager Класса
CKeyboardManager Класса
CUserToolsManager Класса