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 クラスの各アプリケーション マネージャーを管理します。
継承階層
要件
ヘッダー: afxwinappex.h
CWinAppEx::CleanState
アプリケーションに関するすべての情報を Windows レジストリから削除します。
virtual BOOL CleanState(LPCTSTR lpszSectionName=NULL);
パラメーター
lpszSectionName
[in] レジストリ キーのパスを含む文字列。
戻り値
メソッドが成功した場合は 0 以外、それ以外の場合は 0。
解説
このメソッドは、レジストリの特定のセクションからアプリケーション データをクリアします。 パラメーター lpszSectionName を使用して、クリアするセクションを指定できます。
lpszSectionName が NULL の場合、このメソッドは、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 の間に発生します。 レジストリから初期ウィンドウ配置を読み込まない場合は、bEnable を FALSE に設定してこのメソッドを呼び出します。
CWinAppEx::EnableTearOffMenus
CMenuTearOffManager オブジェクトを作成して初期化します。
BOOL EnableTearOffMenus(
LPCTSTR lpszRegEntry,
const UINT uiCmdFirst,
const UINT uiCmdLast);
パラメーター
lpszRegEntry
[in] レジストリ キーのパスを含む文字列。 アプリケーションは、このレジストリ キーを使用して、ティアオフ メニューの情報を格納します。
uiCmdFirst
[in] 最初のティアオフ メニュー ID。
uiCmdLast
[in] 最後のティアオフ メニュー ID。
戻り値
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] フレームワークがユーザー ツール メニューのコマンド ID のプレースホルダーとして使用する符号なし整数。
uiCmdFirst
[in] 最初のユーザー ツール コマンドのコマンド ID。
uiCmdLast
[in] 最後のユーザー ツール コマンドのコマンド ID。
pToolRTC
[in] CUserToolsManager オブジェクトが新しいユーザー ツールを作成するために使用するクラス。
uArgMenuID
[in] 引数メニュー ID。
uInitDirMenuID
[in] 初期ツール ディレクトリのメニュー ID。
戻り値
メソッドが TRUE オブジェクトを作成して初期化する場合は CUserToolsManager。メソッドが失敗した場合、または FALSE オブジェクトが既に存在する場合は 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
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::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 オブジェクトが既に存在する場合は 0。
解説
CWinAppEx::GetContextMenuManager を呼び出すと、そのメソッドの既定の実装で InitContextMenuManager が呼び出されます。
アプリケーションに既にコンテキスト メニュー マネージャーがある場合に InitContextMenuManager を呼び出すと、アプリケーションに ASSERT エラーが発生します。 そのため、InitContextMenuManager オブジェクトを直接作成する場合は、CContextMenuManager を呼び出さないでください。 カスタム CContextMenuManager を使用していない場合は、GetContextMenuManager を使用して CContextMenuManager オブジェクトを作成する必要があります。
CWinAppEx::InitKeyboardManager
CKeyboardManager オブジェクトを初期化します。
BOOL InitKeyboardManager();
戻り値
メソッドが CKeyboardManager オブジェクトを作成する場合は 0 以外。CKeyboardManager オブジェクトが既に存在する場合は 0。
解説
CWinAppEx::GetKeyboardManager を呼び出すと、そのメソッドの既定の実装で InitKeyboardManager が呼び出されます。
アプリケーションに既にキーボード マネージャーがある場合に InitKeyboardManager を呼び出すと、アプリケーションに ASSERT エラーが発生します。 そのため、InitKeyboardManager オブジェクトを直接作成する場合は、CKeyboardManager を呼び出さないでください。 カスタム CKeyboardManager を使用していない場合は、GetKeyboardManager を使用して CKeyboardManager オブジェクトを作成する必要があります。
CWinAppEx::InitMouseManager
CMouseManager オブジェクトを初期化します。
BOOL InitMouseManager();
戻り値
メソッドが CMouseManager オブジェクトを作成する場合は 0 以外。CMouseManager オブジェクトが既に存在する場合は 0。
解説
CWinAppEx::GetMouseManager を呼び出すと、そのメソッドの既定の実装で InitMouseManager が呼び出されます。
アプリケーションに既にマウス マネージャーがある場合に InitMouseManager を呼び出すと、アプリケーションに ASSERT エラーが発生します。 そのため、InitMouseManager オブジェクトを直接作成する場合は、CMouseManager を呼び出さないでください。 カスタム CMouseManager を使用していない場合は、GetMouseManager を使用して CMouseManager オブジェクトを作成する必要があります。
CWinAppEx::InitShellManager
CShellManager オブジェクトを初期化します。
BOOL InitShellManager();
戻り値
メソッドが CShellManager オブジェクトを作成する場合は 0 以外。CShellManager オブジェクトが既に存在する場合は 0。
解説
CWinAppEx::GetShellManager を呼び出すと、そのメソッドの既定の実装で InitShellManager が呼び出されます。
アプリケーションに既にシェル マネージャーがある場合に InitShellManager を呼び出すと、アプリケーションに ASSERT エラーが発生します。 そのため、InitShellManager オブジェクトを直接作成する場合は、CShellManager を呼び出さないでください。 カスタム CShellManager を使用していない場合は、GetShellManager を使用して CShellManager オブジェクトを作成してください。
CWinAppEx::InitTooltipManager
CTooltipManager オブジェクトを初期化します。
BOOL InitTooltipManager();
戻り値
メソッドが CTooltipManager オブジェクトを作成する場合は 0 以外。CTooltipManager オブジェクトが既に存在する場合は 0。
解説
CWinAppEx::GetTooltipManager を呼び出すと、そのメソッドの既定の実装で InitTooltipManager が呼び出されます。
アプリケーションに既にヒント マネージャーがある場合に InitTooltipManager を呼び出すと、アプリケーションに ASSERT エラーが発生します。 そのため、InitTooltipManager オブジェクトを直接作成する場合は、CTooltipManager を呼び出さないでください。 カスタム 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 クラス