CWinAppEx クラス

CWinAppEx は、アプリケーション状態の処理、レジストリへの状態の保存、レジストリからの状態の読み込み、アプリケーション マネージャーの初期化、および同じアプリケーション マネージャーへのリンクの提供を行います。

詳細については、Visual Studio インストール先の mfc フォルダーにあるソース コードを参照してください。 たとえば、%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 クラスは、次の 2 つの方法のいずれかでアプリケーションに組み込むことができます。

  • メイン スレッドで 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 以外、それ以外の場合は 0。

解説

このメソッドは、レジストリの特定のセクションからアプリケーション データをクリアします。 パラメーター lpszSectionName を使用して、クリアするセクションを指定できます。 lpszSectionNameNULL の場合、このメソッドは、CWinAppEx オブジェクトに格納されている既定のレジストリ パスを使用します。 既定のレジストリ パスを取得するには、CWinAppEx::GetRegistryBase を使用します。

CWinAppEx::CWinAppEx

CWinAppEx オブジェクトを構築します。

CWinAppEx(BOOL bResourceSmartUpdate = FALSE);

パラメーター

bResourceSmartUpdate
[in] ワークスペース オブジェクトがリソースの更新を検出して処理するかどうかを指定するブール型パラメーター。

解説

この CWinAppEx クラスには初期化メソッドがあり、アプリケーション情報を保存してレジストリに読み込む機能を提供し、グローバル アプリケーション設定を制御します。 また、CKeyboardManager クラスCUserToolsManager クラスなどのグローバル マネージャーを使用することもできます。 各アプリケーションは、CWinAppEx クラスのインスタンスを 1 つだけ持つことができます。

CWinAppEx::EnableLoadWindowPlacement

アプリケーションがレジストリからメイン フレーム ウィンドウの初期サイズと場所を読み込むかどうかを指定します。

void EnableLoadWindowPlacement(BOOL bEnable = TRUE);

パラメーター

bEnable
[in] アプリケーションがレジストリからメイン フレーム ウィンドウの初期サイズと場所を読み込むかどうかを指定します。

解説

既定では、メイン フレームのサイズと場所は、他のアプリケーション設定と共にレジストリから読み込まれます。 これは、CWinAppEx::LoadState の間に発生します。 レジストリから初期ウィンドウ配置を読み込まない場合は、bEnableFALSE に設定してこのメソッドを呼び出します。

CWinAppEx::EnableTearOffMenus

CMenuTearOffManager オブジェクトを作成して初期化します。

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

パラメーター

lpszRegEntry
[in] レジストリ キーのパスを含む文字列。 アプリケーションは、このレジストリ キーを使用して、ティアオフ メニューの情報を格納します。

uiCmdFirst
[in] 最初のティアオフ メニュー ID。

uiCmdLast
[in] 最後のティアオフ メニュー ID。

戻り値

CMenuTearOffManager が正常に作成および初期化された場合は TRUE。エラーが発生した場合、または CMenuTearOffManager が既に存在する場合は FALSE

解説

アプリケーションでティアオフ メニューを有効にするには、この関数を使用します。 この関数は 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] フレームワークがユーザー ツール メニューのコマンド ID のプレースホルダーとして使用する符号なし整数。

uiCmdFirst
[in] 最初のユーザー ツール コマンドのコマンド ID。

uiCmdLast
[in] 最後のユーザー ツール コマンドのコマンド ID。

pToolRTC
[in] CUserToolsManager オブジェクトが新しいユーザー ツールを作成するために使用するクラス。

uArgMenuID
[in] 引数メニュー ID。

uInitDirMenuID
[in] 初期ツール ディレクトリのメニュー ID。

戻り値

メソッドが CUserToolsManager オブジェクトを作成して初期化する場合は TRUE。メソッドが失敗した場合、または CUserToolsManager オブジェクトが既に存在する場合は FALSE

解説

ユーザー定義ツールを有効にすると、フレームワークは、カスタマイズ中に拡張できる動的メニューを自動的にサポートします。 フレームワークは、新しい各項目を外部コマンドに関連付けます。 フレームワークは、ユーザーが [ツール] メニューから適切な項目を選択すると、これらのコマンドを呼び出します。

ユーザーが新しい項目を追加するたびに、フレームワークによって新しいオブジェクトが作成されます。 新しいオブジェクトのクラス型は、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

CWinAppEx::SaveState を呼び出すときに Windows レジストリに保存されたアプリケーションのメジャー バージョンを返します。

int GetDataVersionMajor() const;

戻り値

メジャー バージョン番号を含む整数値。

CWinAppEx::GetDataVersionMinor

CWinAppEx::SaveState を呼び出すときに Windows レジストリに保存されたアプリケーションのマイナー バージョンを返します。

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 以外、それ以外の場合は 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 以外を返します。それ以外の場合は 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::WriteStringCWinAppEx::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 オブジェクトが既に存在する場合は 0。

解説

CWinAppEx::GetContextMenuManager を呼び出すと、そのメソッドの既定の実装で InitContextMenuManager が呼び出されます。

アプリケーションに既にコンテキスト メニュー マネージャーがある場合に InitContextMenuManager を呼び出すと、アプリケーションに ASSERT エラーが発生します。 そのため、CContextMenuManager オブジェクトを直接作成する場合は、InitContextMenuManager を呼び出さないでください。 カスタム CContextMenuManager を使用していない場合は、GetContextMenuManager を使用して CContextMenuManager オブジェクトを作成する必要があります。

CWinAppEx::InitKeyboardManager

CKeyboardManager オブジェクトを初期化します。

BOOL InitKeyboardManager();

戻り値

メソッドが CKeyboardManager オブジェクトを作成する場合は 0 以外。CKeyboardManager オブジェクトが既に存在する場合は 0。

解説

CWinAppEx::GetKeyboardManager を呼び出すと、そのメソッドの既定の実装で InitKeyboardManager が呼び出されます。

アプリケーションに既にキーボード マネージャーがある場合に InitKeyboardManager を呼び出すと、アプリケーションに ASSERT エラーが発生します。 そのため、CKeyboardManager オブジェクトを直接作成する場合は、InitKeyboardManager を呼び出さないでください。 カスタム CKeyboardManager を使用していない場合は、GetKeyboardManager を使用して CKeyboardManager オブジェクトを作成する必要があります。

CWinAppEx::InitMouseManager

CMouseManager オブジェクトを初期化します。

BOOL InitMouseManager();

戻り値

メソッドが CMouseManager オブジェクトを作成する場合は 0 以外。CMouseManager オブジェクトが既に存在する場合は 0。

解説

CWinAppEx::GetMouseManager を呼び出すと、そのメソッドの既定の実装で InitMouseManager が呼び出されます。

アプリケーションに既にマウス マネージャーがある場合に InitMouseManager を呼び出すと、アプリケーションに ASSERT エラーが発生します。 そのため、CMouseManager オブジェクトを直接作成する場合は、InitMouseManager を呼び出さないでください。 カスタム CMouseManager を使用していない場合は、GetMouseManager を使用して CMouseManager オブジェクトを作成する必要があります。

CWinAppEx::InitShellManager

CShellManager オブジェクトを初期化します。

BOOL InitShellManager();

戻り値

メソッドが CShellManager オブジェクトを作成する場合は 0 以外。CShellManager オブジェクトが既に存在する場合は 0。

解説

CWinAppEx::GetShellManager を呼び出すと、そのメソッドの既定の実装で InitShellManager が呼び出されます。

アプリケーションに既にシェル マネージャーがある場合に InitShellManager を呼び出すと、アプリケーションに ASSERT エラーが発生します。 そのため、CShellManager オブジェクトを直接作成する場合は、InitShellManager を呼び出さないでください。 カスタム CShellManager を使用していない場合は、GetShellManager を使用して CShellManager オブジェクトを作成してください。

CWinAppEx::InitTooltipManager

CTooltipManager オブジェクトを初期化します。

BOOL InitTooltipManager();

戻り値

メソッドが CTooltipManager オブジェクトを作成する場合は 0 以外。CTooltipManager オブジェクトが既に存在する場合は 0。

解説

CWinAppEx::GetTooltipManager を呼び出すと、そのメソッドの既定の実装で InitTooltipManager が呼び出されます。

アプリケーションに既にヒント マネージャーがある場合に InitTooltipManager を呼び出すと、アプリケーションに ASSERT エラーが発生します。 そのため、CTooltipManager オブジェクトを直接作成する場合は、InitTooltipManager を呼び出さないでください。 カスタム CTooltipManager を使用していない場合は、GetTooltipManager を使用して CTooltipManager オブジェクトを作成する必要があります。

CWinAppEx::IsResourceSmartUpdate

BOOL IsResourceSmartUpdate() const;

戻り値

解説

CWinAppEx::IsStateExists

指定したキーがレジストリ内にあるかどうかを示します。

BOOL IsStateExists(LPCTSTR lpszSectionName);

パラメーター

lpszSectionName
[in] レジストリ キーのパスを含む文字列。

戻り値

キーがレジストリにある場合は 0 以外。それ以外の場合は 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 以外。それ以外の場合は 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 以外。それ以外の場合は 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] ビュー ID。

戻り値

フレームワークがコマンドを見つけた場合は TRUE。それ以外の場合は FALSE

解説

カスタム マウス動作をサポートするには、WM_LBUTTONDBLCLK メッセージを処理するときにこの関数を呼び出す必要があります。 このメソッドは、iViewId によって指定されたビュー ID に関連付けられているコマンドを実行します。 カスタム マウス動作の詳細については、「キーボードおよびマウスのカスタマイズ」を参照してください。

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 以外。読み込みに失敗した場合、または読み込むデータがない場合は 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] メニュー リソース ID。

point
[in] メニューの位置を画面座標で指定する CPoint

pWnd
[in] ポップアップ メニューを所有するウィンドウへのポインター。

戻り値

ポップアップ メニューが正常に表示された場合は 0 以外。それ以外の場合は 0。

解説

このメソッドは、uiMenuResId に関連付けられているメニューを表示します。

ポップアップ メニューをサポートするには、CContextMenuManager オブジェクトが必要です。 CContextMenuManager オブジェクトを初期化していない場合、ShowPopupMenu は失敗します。

CWinAppEx::StoreWindowPlacement

メイン フレーム ウィンドウのサイズと場所をレジストリに書き込むためにフレームワークによって呼び出されます。

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

パラメーター

nFlags
[in] 最小化されたウィンドウの位置と、オペレーティング システムが最小化されたウィンドウと復元されたウィンドウを切り替える方法を制御するフラグ。

nShowCmd
[in] ウィンドウの表示状態を指定する整数。 使用可能な値の詳細については、CWnd::ShowWindow を参照してください。

rectNormalPosition
[in] 復元された状態にあるメイン フレーム ウィンドウの座標を含む四角形。

戻り値

成功した場合は 0 以外。それ以外の場合は 0。

解説

既定では、MFC は、アプリケーションが終了する前にメイン フレーム ウィンドウの位置と状態を自動的に保存します。 この情報は、アプリケーションの既定のレジストリの場所にある WindowPlacement キーの下の Windows レジストリに格納されます。 アプリケーションの既定のレジストリの場所の詳細については、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 クラス