Класс 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
класс.
Иерархия наследования
Требования
Заголовок: 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::WriteObject
CWinAppEx::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::WriteObject
CWinAppEx::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::OnLoadFrame
LoadState
по умолчанию.
Параметр 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
Класс