CWinApp クラス
Windows のアプリケーション オブジェクトを派生させるための基底クラスです。
構文
class CWinApp : public CWinThread
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CWinApp:: CWinApp | CWinApp オブジェクトを構築します。 |
パブリック メソッド
名前 | 説明 |
---|---|
CWinApp::、Adddoctemplate | アプリケーションの利用可能なドキュメントテンプレートの一覧にドキュメントテンプレートを追加します。 |
CWinApp:: AddToRecentFileList | 最近使用した (MRU) ファイルの一覧にファイル名を追加します。 |
CWinApp:: ApplicationRecoveryCallback | アプリケーションが予期せず終了したときにフレームワークによって呼び出されます。 |
CWinApp:: CloseAllDocuments | 開いているすべてのドキュメントを閉じます。 |
CWinApp:: Createプリンター Dc | プリンターデバイスコンテキストを作成します。 |
CWinApp::D elRegTree | 指定されたキーとそのすべてのサブキーを削除します。 |
CWinApp::D oMessageBox | アプリケーションの AfxMessageBox を実装します。 |
CWinApp::D oWaitCursor | 待機カーソルをオンまたはオフにします。 |
CWinApp:: EnableD2DSupport | Application D2D のサポートを有効にします。 このメソッドは、メイン ウィンドウが初期化される前に呼び出します。 |
CWinApp:: EnableHtmlHelp | WinHelp ではなく、アプリケーションの Html ヘルプを実装します。 |
CWinApp:: EnableTaskbarInteraction | タスクバーとの対話を有効にします。 |
CWinApp:: ExitInstance | アプリケーションの終了時にクリーンアップするようにオーバーライドします。 |
CWinApp:: GetApplicationRecoveryParameter | アプリケーションの回復方法の入力パラメーターを取得します。 |
CWinApp:: GetApplicationRecoveryPingInterval | 再開マネージャーが復旧コールバック関数から戻るまで待機する時間を返します。 |
CWinApp:: GetApplicationRestartFlags | 再起動マネージャーのフラグを返します。 |
CWinApp:: GetAppRegistryKey | HKEY_CURRENT_USER\"Software "\RegistryKey\ProfileName." のキーを返します。 |
CWinApp:: GetDataRecoveryHandler | アプリケーションのこのインスタンスのデータ回復ハンドラーを取得します。 |
CWinApp:: GetFirstDocTemplatePosition | 最初のドキュメントテンプレートの位置を取得します。 |
CWinApp:: Ge@ Pmode | アプリケーションによって使用されるヘルプの種類を取得します。 |
CWinApp:: GetNextDocTemplate | ドキュメントテンプレートの位置を取得します。 再帰的に使用できます。 |
CWinApp:: Getプリンター Devicedefaults | プリンターデバイスの既定値を取得します。 |
CWinApp:: GetProfileBinary | アプリケーションの .INI ファイル内のエントリからバイナリデータを取得します。 |
CWinApp:: GetProfileInt | アプリケーションの .INI ファイル内のエントリから整数を取得します。 |
CWinApp:: GetProfileString | アプリケーションの .INI ファイル内のエントリから文字列を取得します。 |
CWinApp:: GetSectionKey | HKEY_CURRENT_USER\"Software "\ Registrykey\ appregistrylpszsectionのキーを返します。 |
CWinApp:: HideApplication | すべてのドキュメントを閉じる前に、アプリケーションを非表示にします。 |
CWinApp:: Html | Windows 関数を HTMLHelp 呼び出します。 |
CWinApp:: InitInstance | ウィンドウオブジェクトの作成など、Windows インスタンスの初期化を実行するには、をオーバーライドします。 |
CWinApp:: IsTaskbarInteractionEnabled | Windows 7 タスクバーの対話が有効かどうかを示します。 |
CWinApp:: LoadCursor | カーソルリソースを読み込みます。 |
CWinApp:: LoadIcon | アイコンリソースを読み込みます。 |
CWinApp:: LoadOEMCursor | OCR_定数によって Windows .h に指定された Windows OEM の定義済みカーソルを読み込みます。 |
CWinApp:: LoadOEMIcon | OIC_定数によって Windows .h に指定された Windows OEM の定義済みアイコンを読み込みます。 |
CWinApp:: LoadStandardCursor | IDC_定数によって Windows .h に指定された Windows 定義済みのカーソルを読み込みます。 |
CWinApp:: LoadStandardIcon | IDI_定数によって Windows .h に指定された Windows 定義済みアイコンを読み込みます。 |
CWinApp:: OnDDECommand | 動的データ交換 (DDE) の execute コマンドに応答して、フレームワークによって呼び出されます。 |
CWinApp:: OnIdle | をオーバーライドして、アプリケーション固有のアイドル時処理を実行します。 |
CWinApp:: OpenDocumentFile | ファイルからドキュメントを開くためにフレームワークによって呼び出されます。 |
CWinApp::P arseCommandLine | コマンドラインの個々のパラメーターとフラグを解析します。 |
CWinApp::P reTranslateMessage | Windows 関数TranslateMessageおよびDispatchMessageにディスパッチされる前に、メッセージをフィルター処理します。 |
CWinApp::P Roて Messagefilter | アプリケーションに到着する前に、特定のメッセージをインターセプトします。 |
CWinApp::P rocessShellCommand | コマンドラインの引数とフラグを処理します。 |
CWinApp::P rocessWndProcException | アプリケーションのメッセージおよびコマンドハンドラーによってスローされた未処理の例外をすべてインターセプトします。 |
CWinApp:: Register | カスタマイズされた登録を実行します。 |
CWinApp:: RegisterWithRestartManager | アプリケーションを再起動マネージャーに登録します。 |
CWinApp:: Reopen前の Filesatrestart | アプリケーションが予期せず終了したときに開いたファイルを再起動マネージャーが再度開くかどうかを指定します。 |
CWinApp:: RestartInstance | 再起動マネージャーによって開始されたアプリケーションの再起動を処理します。 |
CWinApp:: RestoreAutosavedFilesAtRestart | 再起動マネージャーが、アプリケーションの再起動時に自動保存されたファイルを復元するかどうかを指定します。 |
CWinApp:: Run | 既定のメッセージループを実行します。 メッセージループをカスタマイズするには、をオーバーライドします。 |
CWinApp::RunAutomated | アプリケーションのコマンドラインで /Automation オプションをテストします。 互換性のために残されています。 代わりに、 ParseCommandLineを呼び出した後、 CCommandLineInfo:: m_bRunAutomatedの値を使用します。 |
CWinApp::RunEmbedded | アプリケーションのコマンドラインで /Embedding オプションをテストします。 互換性のために残されています。 代わりに、 ParseCommandLineを呼び出した後、 CCommandLineInfo:: m_bRunEmbeddedの値を使用します。 |
CWinApp:: SaveAllModified | 変更されたすべてのドキュメントを保存するようにユーザーに要求します。 |
CWinApp:: SelectPrinter | 以前にユーザーが [印刷] ダイアログボックスを使用して指定したプリンターを選択します。 |
CWinApp:: Se@ Pmode | アプリケーションによって使用されるヘルプの種類を設定し、初期化します。 |
CWinApp:: SupportsApplicationRecovery | 予期せずに終了したアプリケーションを再起動マネージャーが回復するかどうかを指定します。 |
CWinApp:: SupportsAutosaveAtInterval | 再起動マネージャーが開いているドキュメントを一定の間隔で自動保存するかどうかを指定します。 |
CWinApp:: SupportsAutosaveAtRestart | アプリケーションの再起動時に、再起動マネージャーが開いているドキュメントを自動保存するかどうかを指定します。 |
CWinApp:: SupportsRestartManager | アプリケーションが再起動マネージャーをサポートしているかどうかを判断します。 |
CWinApp:: 登録解除 | オブジェクトによって登録されていることがわかっているすべての CWinApp 登録を解除します。 |
CWinApp:: WinHelp | Windows 関数を WinHelp 呼び出します。 |
CWinApp:: WriteProfileBinary | アプリケーションの .INI ファイル内のエントリにバイナリデータを書き込みます。 |
CWinApp:: WriteProfileInt | アプリケーションの .INI ファイル内のエントリに整数を書き込みます。 |
CWinApp:: WriteProfileString | アプリケーションの .INI ファイル内のエントリに文字列を書き込みます。 |
プロテクト メソッド
名前 | 説明 |
---|---|
CWinApp:: EnableShellOpen | Windows ファイルマネージャーからデータファイルを開くことをユーザーに許可します。 |
CWinApp:: LoadStdProfileSettings | 標準 .INI ファイル設定を読み込み、MRU ファイルリスト機能を有効にします。 |
CWinApp:: OnContextHelp | アプリケーション内の SHIFT + F1 ヘルプを処理します。 |
CWinApp:: OnFileNew | ID_FILE_NEW コマンドを実装します。 |
CWinApp:: OnFileOpen | ID_FILE_OPEN コマンドを実装します。 |
CWinApp::OnFilePrintSetup | ID_FILE_PRINT_SETUP コマンドを実装します。 |
CWinApp:: OnHelp | アプリケーション内で F1 ヘルプを (現在のコンテキストを使って) 処理します。 |
CWinApp:: OnHelpFinder | ID_HELP_FINDER および ID_DEFAULT_HELP コマンドを処理します。 |
CWinApp:: OnHelpIndex | ID_HELP_INDEX コマンドを処理し、既定のヘルプトピックを提供します。 |
CWinApp:: OnHelpUsing | ID_HELP_USING コマンドを処理します。 |
CWinApp:: RegisterShellFileTypes | すべてのアプリケーションのドキュメントの種類を Windows ファイルマネージャーに登録します。 |
CWinApp:: SetAppID | アプリケーションのアプリケーションユーザーモデル ID を明示的に設定します。 ユーザーインターフェイスをユーザーに提示する前に、このメソッドを呼び出す必要があります (最適な場所はアプリケーションコンストラクターです)。 |
CWinApp:: SetRegistryKey | アプリケーション設定を .INI ファイルではなくレジストリに格納します。 |
CWinApp:: UnregisterShellFileTypes | Windows ファイルマネージャーを使用して、すべてのアプリケーションのドキュメントの種類の登録を解除します。 |
パブリック データ メンバー
名前 | 説明 |
---|---|
CWinApp:: m_bHelpMode | ユーザーがヘルプコンテキストモードであるかどうかを示します (通常は SHIFT + F1 キーを使用して呼び出されます)。 |
CWinApp:: m_eHelpType | アプリケーションで使用されるヘルプの種類を指定します。 |
CWinApp:: m_hInstance | アプリケーションの現在のインスタンスを識別します。 |
CWinApp:: m_lpCmdLine | アプリケーションのコマンドラインを指定する null で終わる文字列を指します。 |
CWinApp:: m_nCmdShow | ウィンドウを最初に表示する方法を指定します。 |
CWinApp:: m_pActiveWnd | OLE サーバーがアクティブになっている場合の、コンテナーアプリケーションのメインウィンドウへのポインター。 |
CWinApp:: m_pszAppID | アプリケーションユーザーモデル ID。 |
CWinApp:: m_pszAppName | アプリケーションの名前を指定します。 |
CWinApp:: m_pszExeName | アプリケーションのモジュール名。 |
CWinApp:: m_pszHelpFilePath | アプリケーションのヘルプファイルへのパス。 |
CWinApp:: m_pszProfileName | アプリケーションの .INI ファイル名。 |
CWinApp:: m_pszRegistryKey | アプリケーションプロファイル設定を格納するための完全なレジストリキーを決定するために使用されます。 |
プロテクト データ メンバー
名前 | 説明 |
---|---|
CWinApp::m_dwRestartManagerSupportFlags | 再起動マネージャーの動作を決定するフラグ。 |
CWinApp::m_nAutosaveInterval | 自動保存の時間の長さ (ミリ秒単位)。 |
CWinApp:: m_pDataRecoveryHandler | アプリケーションのデータ復旧ハンドラーへのポインター。 |
注釈
アプリケーションオブジェクトには、アプリケーション (およびそのインスタンスの各インスタンス) を初期化し、アプリケーションを実行するためのメンバー関数が用意されています。
Microsoft Foundation クラスを使用する各アプリケーションには、から CWinApp
派生したオブジェクトを1つだけ含めることができます。 このオブジェクトは、他の C++ グローバルオブジェクトが構築されるときに構築され、Windows が Microsoft Foundation Class ライブラリによって提供される関数を呼び出す WinMain
と既に使用できるようになります。 派生 CWinApp
オブジェクトをグローバルレベルで宣言します。
から CWinApp
アプリケーションクラスを派生させる場合は、 InitInstance メンバー関数をオーバーライドして、アプリケーションのメインウィンドウオブジェクトを作成します。
Microsoft Foundation Class ライブラリには、メンバー関数に CWinApp
加えて、オブジェクトやその他のグローバル情報にアクセス CWinApp
するための次のグローバル関数が用意されています。
AfxGetApp オブジェクトへの
CWinApp
ポインターを取得します。AfxGetInstanceHandle 現在のアプリケーションインスタンスへのハンドルを取得します。
AfxGetResourceHandle アプリケーションのリソースへのハンドルを取得します。
AfxGetAppName アプリケーション名を格納している文字列へのポインターを取得します。 また、オブジェクトへ
CWinApp
のポインターがある場合は、を使用m_pszExeName
してアプリケーション名を取得します。
クラスの詳細 CWinApp
については、「 CWinApp: Application class 」を参照してください。
CWinApp
-アプリケーションウィザードによって作成された派生コード。CWinApp
アプリケーションの実行シーケンスのロール。CWinApp
の既定のメンバー関数の実装。CWinApp
キー overridables。
データメンバーは m_hPrevInstance
もう存在しません。 アプリケーションの別のインスタンスが実行されているかどうかを確認するには、名前付きミューテックスを使用します。 ミューテックスを開くことができない場合は、実行中のアプリケーションの他のインスタンスは存在しません。
継承階層
CWinApp
要件
ヘッダー: afxwin.h
CWinApp::、Adddoctemplate
このメンバー関数を呼び出して、アプリケーションが保持する使用可能なドキュメントテンプレートの一覧にドキュメントテンプレートを追加します。
void AddDocTemplate(CDocTemplate* pTemplate);
パラメーター
pTemplate
追加するへの CDocTemplate
ポインター。
注釈
RegisterShellFileTypesを呼び出す前に、すべてのドキュメントテンプレートをアプリケーションに追加する必要があります。
例
// The following code is produced by the Application Wizard when you
// choose the MDI (multiple document interface) option.
CMultiDocTemplate *pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_MYTYPE,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CMyView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
CWinApp:: AddToRecentFileList
このメンバー関数を呼び出して、 Lpszpathname を MRU ファイルリストに追加します。
virtual void AddToRecentFileList(LPCTSTR lpszPathName);
パラメーター
lpszPathName
ファイルのパス。
注釈
このメンバー関数を使用する前に、 LoadStdProfileSettings メンバー関数を呼び出して、現在の MRU ファイルリストを読み込む必要があります。
フレームワークは、ファイルを開くときにこのメンバー関数を呼び出します。または、[名前を付けて保存] コマンドを実行して、新しい名前でファイルを保存します。
例
// This adds the pathname c:\temp\test.doc to the top of
// the most recently used (MRU) list in the File menu.
AfxGetApp()->AddToRecentFileList(_T("c:\\temp\\test.doc"));
CWinApp:: ApplicationRecoveryCallback
アプリケーションが予期せず終了したときにフレームワークによって呼び出されます。
virtual DWORD ApplicationRecoveryCallback(LPVOID lpvParam);
パラメーター
lpvParam
[入力] 将来の使用のために予約されています。
戻り値
このメソッドが成功した場合は0。エラーが発生した場合は0以外の。
注釈
アプリケーションが再起動マネージャーをサポートしている場合、アプリケーションが予期せず終了したときに、フレームワークはこの関数を呼び出します。
の既定の ApplicationRecoveryCallback
実装では、を使用して、 CDataRecoveryHandler
現在開いているドキュメントの一覧をレジストリに保存します。 このメソッドは、ファイルを自動保存しません。
動作をカスタマイズするには、派生した Cwinapp クラス でこの関数をオーバーライドするか、独自のアプリケーションの回復メソッドをパラメーターとして CWinApp:: RegisterWithRestartManagerに渡します。
CWinApp:: CloseAllDocuments
終了する前にすべての開いているドキュメントを閉じるには、このメンバー関数を呼び出します。
void CloseAllDocuments(BOOL bEndSession);
パラメーター
bEndSession
Windows セッションを終了するかどうかを指定します。 セッションが終了している場合は TRUE です。それ以外の場合は FALSE。
注釈
を呼び出す CloseAllDocuments
前にhideapplicationを呼び出してください。
CWinApp:: Createプリンター Dc
選択したプリンターからプリンターデバイスコンテキスト (DC) を作成するには、このメンバー関数を呼び出します。
BOOL CreatePrinterDC(CDC& dc);
パラメーター
dc
プリンターデバイスコンテキストへの参照。
戻り値
プリンターデバイスコンテキストが正常に作成された場合は0以外の。それ以外の場合は0です。
注釈
CreatePrinterDC
参照渡しで渡すデバイスコンテキストを初期化して、出力に使用できるようにします。
関数が正常に実行された場合は、印刷が完了したら、デバイスコンテキストを破棄する必要があります。 Cdcオブジェクトのデストラクターを使用することも、 Cdc::D eletedcを呼び出すことによって明示的に実行することもできます。
CWinApp:: CWinApp
オブジェクトを CWinApp
構築し、アプリケーション名として格納される lpszappname を渡します。
CWinApp(LPCTSTR lpszAppName = NULL);
パラメーター
lpszAppName
Windows 使用するアプリケーション名を含む null で終わる文字列。 この引数が指定されていないか NULL の場合、では、 CWinApp
リソース文字列 AFX_IDS_APP_TITLE または実行可能ファイルのファイル名が使用されます。
注釈
派生クラスの1つの CWinApp
グローバルオブジェクトを作成する必要があります。 アプリケーションには、オブジェクトを1つ CWinApp
だけ含めることができます。 コンストラクターはオブジェクトへ CWinApp
のポインターを格納します。これにより、は、オブジェクトのメンバー関数を呼び出してアプリケーションを初期化し、実行できるように WinMain
なります。
CWinApp::D elRegTree
特定のレジストリ キーとそのすべてのサブキーを削除します。
LONG DelRegTree(
HKEY hParentKey,
const CString& strKeyName);
LONG DelRegTree(
HKEY hParentKey,
const CString& strKeyName,
CAtlTransactionManager* pTM = NULL);
パラメーター
hParentKey
レジストリ キーを処理します。
strKeyName
削除するレジストリ キーの名前。
pTM
CAtlTransactionManager オブジェクトへのポインター。
戻り値
関数が成功した場合、戻り値は ERROR_SUCCESS です。 関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。
解説
指定したキーとそのサブキーを削除するには、この関数を呼び出します。
CWinApp::D oMessageBox
フレームワークは、このメンバー関数を呼び出して、グローバル関数 AfxMessageBox のメッセージ ボックスを実装します。
virtual int DoMessageBox(
LPCTSTR lpszPrompt,
UINT nType,
UINT nIDPrompt);
パラメーター
lpszPrompt
メッセージ ボックス内のテキストのアドレス。
nType
メッセージ ボックスの スタイル。
nIDPrompt
ヘルプ コンテキスト文字列へのインデックス。
戻り値
と同じ値を返します AfxMessageBox
。
注釈
このメンバー関数を呼び出してメッセージ ボックスを開かれません。代わりに AfxMessageBox
を使用してください。
このメンバー関数をオーバーライドして、アプリケーション全体の呼び出しの処理をカスタマイズ AfxMessageBox
します。
CWinApp::D oWaitCursor
このメンバー関数は、 CWaitCursor、 CCmdTarget::BeginWaitCursor、 CCmdTarget::EndWaitCursor、 および CCmdTarget::RestoreWaitCursor を実装するためにフレームワークによって呼び出されます。
virtual void DoWaitCursor(int nCode);
パラメーター
nCode
このパラメーターが 1 の場合は、待機カーソルが表示されます。 0 の場合、待機カーソルは参照カウントをインクリメントせずに復元されます。 -1 の場合、待機カーソルは終了します。
注釈
既定値は、眼鏡カーソルを実装します。 DoWaitCursor
は参照カウントを保持します。 正の場合は、眼鏡カーソルが表示されます。
通常は直接呼び DoWaitCursor
出しませんが、このメンバー関数をオーバーライドして待機カーソルを変更したり、待機カーソルが表示されている間に追加の処理を実行したりすることもできます。
待機カーソルをより簡単に、より効率的に実装するには、 を使用します CWaitCursor
。
例
// The following example shows how to display the
// hourglass cursor during some lengthy processing
void CMdiView::OnLButtonDown(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
AfxGetApp()->DoWaitCursor(1); // 1->>display the hourglass cursor
// do some lengthy processing
Sleep(1000);
AfxGetApp()->DoWaitCursor(-1); // -1->>remove the hourglass cursor
}
// The next example shows DoWaitCursor with parameter 0. It restores
// the hourglass cursor.
void CMdiView::OnMButtonDown(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
AfxGetApp()->DoWaitCursor(1); // display the hourglass cursor
// do some lengthy processing
// The message box will normally change the cursor to
// the standard arrow cursor, and leave the cursor in
// as the standard arrow cursor when the message box is
// closed.
AfxMessageBox(_T("DoWaitCursor Sample"));
// Call DoWaitCursor with parameter 0 to restore
// the cursor back to the hourglass cursor.
AfxGetApp()->DoWaitCursor(0);
// do some more lengthy processing
Sleep(1000);
AfxGetApp()->DoWaitCursor(-1); // remove the hourglass cursor
}
CWinApp::EnableD2DSupport
Visual Studio 2010 SP1 が必要です。
アプリケーション D2D のサポートを有効にする。 このメソッドは、メイン ウィンドウが初期化される前に呼び出します。
BOOL EnableD2DSupport(
D2D1_FACTORY_TYPE d2dFactoryType = D2D1_FACTORY_TYPE_SINGLE_THREADED,
DWRITE_FACTORY_TYPE writeFactoryType = DWRITE_FACTORY_TYPE_SHARED);
パラメーター
d2dFactoryType
D2D ファクトリのスレッド モデルと、それが作成するリソース。
writeFactoryType
書き込みファクトリ オブジェクトを共有するか分離するか示す 値です。
戻り値
D2D サポートが有効な場合は TRUE、それ以外の場合は FALSE を返します。
CWinApp::EnableHtmlHelp
アプリケーションのヘルプに HTMLHelp を CWinApp
使用するには、派生クラスのコンストラクター内からこのメンバー関数を呼び出します。
void EnableHtmlHelp();
注釈
CWinApp::EnableShellOpen
通常はオーバーライドInitInstance
からこの関数を呼び出して、アプリケーションのユーザーが Windows File Manager 内からファイルをダブルクリックするときにデータ ファイルを開くことができる。
void EnableShellOpen();
注釈
この関数と RegisterShellFileTypes
組み合わせてメンバー関数を呼び出すか、 を指定します。ドキュメントの種類を手動で登録するアプリケーションを含む REG ファイル。
例
// The following code fragment is from CMyApp::InitInstance.
// CMyApp is a CWinApp-derived class.
// enable file manager drag/drop and DDE Execute open
EnableShellOpen();
RegisterShellFileTypes();
CWinApp::EnableTaskbarInteraction
タスク バーの操作を有効にします。
BOOL EnableTaskbarInteraction(BOOL bEnable = TRUE);
パラメーター
bEnable
7 タスク バーとの対話をWindows(TRUE)、無効 (FALSE) の 2 つのタスク バーを有効にするかどうかを指定します。
戻り値
タスク バーの操作を有効または無効にできる場合は TRUE を返します。
注釈
このメソッドは、メイン ウィンドウを作成する前に呼び出す必要があります。それ以外の場合は、アサートして FALSE を返します。
CWinApp::ExitInstance
アプリケーションのこのインスタンスを終了するために、メンバー Run
関数内からフレームワークによって呼び出されます。
virtual int ExitInstance();
戻り値
アプリケーションの終了コード。0 はエラーを示しません。0 より大きい値はエラーを示します。 この値は、 からの戻り値として使用されます WinMain
。
注釈
このメンバー関数は、メンバー関数内のどこからでも呼び Run
出しません。
この関数の既定の実装では、フレームワーク オプションがアプリケーションのファイルに.INIされます。 アプリケーションの終了時にクリーンアップするには、この関数をオーバーライドします。
例
int CMyApp::ExitInstance()
{
if (m_pMySampleMem)
delete m_pMySampleMem;
DoCleanup();
return CWinApp::ExitInstance();
}
CWinApp::GetApplicationRecoveryParameter
アプリケーション回復メソッドの入力パラメーターを取得します。
virtual LPVOID GetApplicationRecoveryParameter();
戻り値
アプリケーションの復旧方法の既定の入力パラメーター。
注釈
この関数の既定の動作では NULL が返されます。
詳細については、「 CWinApp::ApplicationRecoveryCallback」を参照してください。
CWinApp::GetApplicationRecoveryPingInterval
復旧コールバック関数が返されるのを再起動マネージャーが待機する時間の長さを返します。
virtual DWORD GetApplicationRecoveryPingInterval();
戻り値
時間の長さ (ミリ秒)。
注釈
再起動マネージャーに登録されているアプリケーションが予期せず終了すると、アプリケーションは開いているドキュメントの保存を試み、復旧コールバック関数を呼び出します。 既定の復旧コールバック関数は CWinApp::ApplicationRecoveryCallback です。
フレームワークが復旧コールバック関数から返されるのを待つ時間の長さは、ping 間隔です。 ping 間隔をカスタマイズするには、 をオーバーライド CWinApp::GetApplicationRecoveryPingInterval
するか、 にカスタム値を指定します RegisterWithRestartManager
。
CWinApp::GetApplicationRestartFlags
再起動マネージャーのフラグを返します。
virtual DWORD GetApplicationRestartFlags();
戻り値
再起動マネージャーのフラグ。 既定の実装では、0 が返されます。
Remarks
再起動マネージャーのフラグは、既定の実装には影響しません。 これらは将来使用するために提供されています。
このフラグは、アプリケーションを再起動マネージャーに登録するときに、 CWinApp:: RegisterWithRestartManagerを使用して設定します。
Restart manager フラグに指定できる値は次のとおりです。
RESTART_NO_CRASH
RESTART_NO_HANG
RESTART_NO_PATCH
RESTART_NO_REBOOT
CWinApp:: GetAppRegistryKey
HKEY_CURRENT_USER\"Software "\RegistryKey\ProfileName." のキーを返します。
HKEY GetAppRegistryKey(CAtlTransactionManager* pTM = NULL);
パラメーター
pTM
CAtlTransactionManager
オブジェクトへのポインター。
戻り値
関数が成功した場合はアプリケーションキー。それ以外の場合は NULL。
注釈
CWinApp:: GetDataRecoveryHandler
アプリケーションのこのインスタンスのデータ回復ハンドラーを取得します。
virtual CDataRecoveryHandler *GetDataRecoveryHandler();
戻り値
アプリケーションのこのインスタンスのデータ回復ハンドラー。
注釈
再起動マネージャーを使用する各アプリケーションは、 CDataRecoveryHandler クラスのインスタンスを1つ持つ必要があります。 このクラスは、開いているドキュメントとワークファイルの監視を行います。 の CDataRecoveryHandler
動作は、再起動マネージャーの構成によって異なります。 詳細については、「 CDataRecoveryHandler クラス」を参照してください。
このメソッドは Windows Vista より前のオペレーティングシステムでは NULL を返します。 Windows Vista より前のオペレーティングシステムでは、再起動マネージャーはサポートされていません。
アプリケーションに現在データ復旧ハンドラーがない場合、このメソッドは1つを作成し、ポインターを返します。
CWinApp:: GetFirstDocTemplatePosition
アプリケーション内の最初のドキュメントテンプレートの位置を取得します。
POSITION GetFirstDocTemplatePosition() const;
戻り値
反復またはオブジェクトポインターの取得に使用できる位置の値。リストが空の場合は NULL です。
注釈
GetNextDocTemplateの呼び出しで返される位置の値を使用して、最初のCDocTemplateオブジェクトを取得します。
CWinApp:: Ge@ Pmode
アプリケーションによって使用されるヘルプの種類を取得します。
AFX_HELP_TYPE GetHelpMode();
戻り値
アプリケーションによって使用されるヘルプの種類。 詳細については、「 CWinApp:: m_eHelpType 」を参照してください。
CWinApp:: GetNextDocTemplate
Posによって識別されるドキュメントテンプレートを取得し、 posを POSITION 値に設定します。
CDocTemplate* GetNextDocTemplate(POSITION& pos) const;
パラメーター
pos
またはGetfirstdoctemplatepositionへ GetNextDocTemplate
の前回の呼び出しによって返された位置の値への参照。 値は、この呼び出しによって次の位置に更新されます。
戻り値
CDocTemplateオブジェクトへのポインター。
注釈
を GetFirstDocTemplatePosition
呼び出して最初の位置を設定する場合は、前方反復ループでを使用 GetNextDocTemplate
できます。
位置の値が有効であることを確認する必要があります。 無効な場合は、Microsoft Foundation Class ライブラリのデバッグバージョンがアサートされます。
取得したドキュメントテンプレートが最後に使用可能な場合は、 pos の新しい値が NULL に設定されます。
CWinApp:: Getプリンター Devicedefaults
印刷用のプリンターデバイスコンテキストを準備するには、このメンバー関数を呼び出します。
BOOL GetPrinterDeviceDefaults(struct tagPDA* pPrintDlg);
パラメーター
pPrintDlg
PRINTDLG構造体へのポインター。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
必要に応じて Windows .INI ファイルから現在のプリンターの既定値を取得するか、または印刷設定でユーザーによって設定された最後のプリンター構成を使用します。
例
void CMyApp::SetLandscapeMode()
{
PRINTDLG pd;
pd.lStructSize = (DWORD)sizeof(PRINTDLG);
BOOL bRet = GetPrinterDeviceDefaults(&pd);
if (bRet)
{
// protect memory handle with ::GlobalLock and ::GlobalUnlock
DEVMODE FAR *pDevMode = (DEVMODE FAR*)::GlobalLock(pd.hDevMode);
// set orientation to landscape
pDevMode->dmOrientation = DMORIENT_LANDSCAPE;
::GlobalUnlock(pd.hDevMode);
}
}
CWinApp:: GetProfileBinary
アプリケーションのレジストリまたは .INI ファイルの指定したセクション内のエントリからバイナリデータを取得するには、このメンバー関数を呼び出します。
BOOL GetProfileBinary(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPBYTE* ppData,
UINT* pBytes);
パラメーター
lpszSection
エントリがあるセクションを指定する NULL で終わる文字列へのポインター。
lpszEntry
値を取得するエントリを指定する NULL で終わる文字列へのポインター。
ppData
データのアドレスを受け取るポインターをポイントします。
pBytes
データのサイズ (バイト単位) を受け取る UINT を指します。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
このメンバー関数は大文字と小文字が区別されないので、場合によっては、 Lpszsection および lpszEntry パラメーター内の文字列が異なる場合があります。
注意
GetProfileBinary
バッファーを割り当て、そのアドレスを * Ppdataに返します。 呼び出し元は、 delete []を使用してバッファーを解放します。
重要
この関数が返すデータは、NULL で終わるデータとは限らないため、呼び出し元で検証を行う必要があります。 詳しくは、「 バッファー オーバーランの回避」をご覧ください。
例
CWinApp* pApp = AfxGetApp();
const TCHAR* pszKey = _T("My Section");
struct complex {
double re, im;
} myData = { 1.4142, -0.5 };
// Write the information to the registry.
pApp->WriteProfileBinary(pszKey, _T("ComplexData"), (LPBYTE)&myData,
sizeof(myData));
// Read the information from the registry.
complex* pData;
UINT n;
BOOL ret = pApp->GetProfileBinary(pszKey, _T("ComplexData"), (LPBYTE*)&pData,
&n);
ASSERT(ret);
ASSERT(n == sizeof(complex));
ASSERT(myData.re == pData->re);
ASSERT(myData.im == pData->im);
delete [] pData; // free the buffer
その他の例については、「 CWinApp:: WriteProfileBinary」を参照してください。
CWinApp:: GetProfileInt
アプリケーションのレジストリまたは .INI ファイルの指定のセクション内のエントリから整数値を取得します。
UINT GetProfileInt(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
int nDefault);
パラメーター
lpszSection
エントリがあるセクションを指定する NULL で終わる文字列へのポインター。
lpszEntry
値を取得するエントリを指定する NULL で終わる文字列へのポインター。
nDefault
フレームワークがエントリを見つけられなかったときのために指定する既定値。
戻り値
正常終了した場合は、指定されたエントリに続く文字列の整数値を返します。 関数がエントリを見つけられない場合、戻り値は Ndefault パラメーターの値になります。 指定されたエントリに対応する値が整数でない場合は、0 を返します。
このメンバー関数は .INI ファイル内の値として 16 進表記をサポートします。 符号付き整数を取得する場合は、値 int
をにキャストする必要があります。
注釈
このメンバー関数は大文字と小文字が区別されないので、場合によっては、 Lpszsection および lpszEntry パラメーター内の文字列が異なる場合があります。
重要
この関数が返すデータは、NULL で終わるデータとは限らないため、呼び出し元で検証を行う必要があります。 詳しくは、「 バッファー オーバーランの回避」をご覧ください。
例
CWinApp *pApp = AfxGetApp();
const TCHAR *pszKey = _T("My Section");
const TCHAR *pszName = _T("Julian");
int iAge = 26;
// Write the information to the registry.
pApp->WriteProfileString(pszKey, _T("Name"), pszName);
pApp->WriteProfileInt(pszKey, _T("Age"), iAge);
// Read the information from the registry.
CString strName = pApp->GetProfileString(pszKey, _T("Name"));
int iAge2 = pApp->GetProfileInt(pszKey, _T("Age"), 0);
ASSERT(strName == pszName);
ASSERT(iAge2 == iAge);
その他の例については、「 CWinApp:: WriteProfileInt」を参照してください。
CWinApp:: GetProfileString
このメンバー関数を呼び出して、アプリケーションのレジストリまたは .INI ファイルの指定したセクション内のエントリに関連付けられている文字列を取得します。
CString GetProfileString(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPCTSTR lpszDefault = NULL);
パラメーター
lpszSection
エントリがあるセクションを指定する NULL で終わる文字列へのポインター。
lpszEntry
文字列を取得するエントリを含む、null で終わる文字列を指します。 この値を NULL にすることはできません。
lpszDefault
初期化ファイルにエントリが見つからない場合は、指定されたエントリの既定の文字列値をポイントします。
戻り値
戻り値は、アプリケーションの .INI ファイルの文字列、または文字列が見つからない場合は Lpszdefault です。 フレームワークでサポートされている文字列の最大長は _MAX_PATH です。 Lpszdefaultが NULL の場合、戻り値は空の文字列になります。
注釈
重要
この関数が返すデータは、NULL で終わるデータとは限らないため、呼び出し元で検証を行う必要があります。 詳しくは、「 バッファー オーバーランの回避」をご覧ください。
例
CWinApp *pApp = AfxGetApp();
CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");
pApp->WriteProfileString(strSection, strStringItem, _T("test"));
CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));
pApp->WriteProfileInt(strSection, strIntItem, 1234);
int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);
別の例については、「 CWinApp:: GetProfileInt」の例を参照してください。
CWinApp:: GetSectionKey
HKEY_CURRENT_USER\"Software "\ Registrykey\ appregistrylpszsectionのキーを返します。
HKEY GetSectionKey(
LPCTSTR lpszSection,
CAtlTransactionManager* pTM = NULL);
パラメーター
lpszSection
取得するキーの名前。
pTM
CAtlTransactionManager
オブジェクトへのポインター。
戻り値
関数が成功した場合はセクションキー。それ以外の場合は NULL。
注釈
CWinApp:: HideApplication
開いているドキュメントを閉じる前に、アプリケーションを非表示にするには、このメンバー関数を呼び出します。
void HideApplication();
CWinApp:: Html
このメンバー関数を呼び出して、Html ヘルプアプリケーションを呼び出します。
virtual void HtmlHelp(
DWORD_PTR dwData,
UINT nCmd = 0x000F);
パラメーター
dwData
追加データを指定します。 使用される値は、 Ncmd パラメーターの値によって異なります。 既定値はHH_HELP_CONTEXTを 0x000F
意味します。
nCmd
要求されるヘルプの種類を指定します。 使用可能な値の一覧とdwdataパラメーターへの影響については、Windows SDK のhtmlhelpwまたはhtmlhelpw API 関数に記述されているucommandパラメーターを参照してください。
注釈
フレームワークは、この関数を呼び出して、Html ヘルプアプリケーションを呼び出します。
アプリケーションが終了すると、フレームワークは自動的に Html ヘルプアプリケーションを終了します。
CWinApp:: InitInstance
Windows を使用すると、同じプログラムの複数のコピーを同時に実行できます。
virtual BOOL InitInstance();
戻り値
初期化が成功した場合は0以外の。それ以外の場合は0です。
注釈
アプリケーションの初期化は、概念的には、プログラムの初回実行時に実行される1回限りのアプリケーションの初期化と、プログラムのコピーが実行されるたびに実行されるインスタンスの初期化の2つのセクションに分けられます。 フレームワークのの WinMain
実装では、この関数を呼び出します。
をオーバーライド InitInstance
して、Windows で実行されているアプリケーションの新しいインスタンスを初期化します。 通常は、をオーバーライド InitInstance
してメインウィンドウオブジェクトを構築し、そのウィンドウを指すようにデータメンバーを設定 CWinThread::m_pMainWnd
します。 このメンバー関数をオーバーライドする方法の詳細については、「 CWinApp: Application クラス」を参照してください。
Note
MFC アプリケーションは、シングルスレッド アパートメント (STA) として初期化する必要があります。 ご自身の InitInstance
オーバーライド内で CoInitializeEx を呼び出す場合は、(COINIT_MULTITHREADED ではなく) COINIT_APARTMENTTHREADED を指定してください。
例
// AppWizard implements the InitInstance overridable function
// according to options you select. For example, the multiple document
// interface (MDI) option was chosen for the AppWizard code created
// below. You can add other per-instance initializations to the code
// created by AppWizard.
BOOL CMFCListViewApp::InitInstance()
{
AfxSetAmbientActCtx(FALSE);
// Remainder of function definition omitted.
CWinApp::InitInstance();
// Initialize OLE libraries
if (!AfxOleInit())
{
AfxMessageBox(_T("OleInit failed."));
return FALSE;
}
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need
// Change the registry key under which our settings are stored
// TODO: You should modify this string to be something appropriate
// such as the name of your company or organization
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
LoadStdProfileSettings(4); // Load standard INI file options (including MRU)
// Register the application's document templates. Document templates
// serve as the connection between documents, frame windows and views
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_MFCListViewTYPE,
RUNTIME_CLASS(CMFCListViewDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CMyListView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
// create main MDI Frame window
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))
{
delete pMainFrame;
return FALSE;
}
m_pMainWnd = pMainFrame;
// call DragAcceptFiles only if there's a suffix
// In an MDI app, this should occur immediately after setting m_pMainWnd
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// Dispatch commands specified on the command line. Will return FALSE if
// app was launched with /RegServer, /Register, /Unregserver or /Unregister.
if (!ProcessShellCommand(cmdInfo))
return FALSE;
// The main window has been initialized, so show and update it
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();
return TRUE;
}
CWinApp:: IsTaskbarInteractionEnabled
Windows 7 タスクバーの対話が有効かどうかを示します。
virtual BOOL IsTaskbarInteractionEnabled();
戻り値
が呼び出され、オペレーティングシステムが7以上 Windows 場合 EnableTaskbarInteraction
は、TRUE を返します。
注釈
タスクバーの相互作用とは、MDI アプリケーションが、アプリケーションのタスクバーボタンの上にマウスポインターを置いたときに表示される別のタブ付きサムネイルに MDI 子のコンテンツを表示することを意味します。
CWinApp:: LoadCursor
現在の実行可能ファイルから、 nIDResourceによって指定された、 lpszresourcename持つという名前のカーソルリソースを読み込みます。
HCURSOR LoadCursor(LPCTSTR lpszResourceName) const; HCURSOR LoadCursor(UINT nIDResource) const;
パラメーター
lpszResourceName
カーソルリソースの名前を含む null で終わる文字列を指します。 この引数には、を CString
使用できます。
nIDResource
カーソルリソースの ID。 リソースの一覧については、Windows SDK の「 loadcursor 」を参照してください。
戻り値
成功した場合はカーソルを処理するハンドル。それ以外の場合は NULL。
注釈
LoadCursor
まだ読み込まれていない場合にのみ、カーソルをメモリに読み込みます。それ以外の場合は、既存のリソースのハンドルを取得します。
定義済みの Windows カーソルにアクセスするには、 loadstandardcursorまたはloadstandardcursorメンバー関数を使用します。
例
HCURSOR hCursor;
// Load a cursor resource that was originally created using
// the Graphics Editor and assigned the i.d. IDC_MYCURSOR.
hCursor = AfxGetApp()->LoadCursor(IDC_MYCURSOR);
CWinApp:: LoadIcon
実行可能ファイルから、 nIDResourceによって指定された、 lpszresourcenameまたはという名前のアイコンリソースを読み込みます。
HICON LoadIcon(LPCTSTR lpszResourceName) const; HICON LoadIcon(UINT nIDResource) const;
パラメーター
lpszResourceName
アイコンリソースの名前を含む null で終わる文字列を指します。 この引数には、を CString
使用することもできます。
nIDResource
アイコンリソースの ID 番号。
戻り値
成功した場合はアイコンを示すハンドル。それ以外の場合は NULL。
注釈
LoadIcon
まだ読み込まれていない場合にのみ、アイコンを読み込みます。それ以外の場合は、既存のリソースのハンドルを取得します。
LoadStandardIconまたはloadoemiconメンバー関数を使用すると、定義済みの Windows アイコンにアクセスできます。
注意
このメンバー関数は、Win32 API 関数 Loadiconを呼び出します。このアイコンは、サイズが SM_CXICON と SM_CYICON システムメトリック値に準拠しているアイコンのみを読み込むことができます。
CWinApp:: LoadOEMCursor
nIDCursorによって指定された Windows 定義済みのカーソルリソースを読み込みます。
HCURSOR LoadOEMCursor(UINT nIDCursor) const;
パラメーター
nIDCursor
定義済みの Windows カーソルを指定するOCR_マニフェスト定数識別子。 WINDOWS .H のOCR_定数にアクセスするには、の前に #include \<afxwin.h>
が #define OEMRESOURCE
必要です。
戻り値
成功した場合はカーソルを処理するハンドル。それ以外の場合は NULL。
注釈
定義済みの Windows カーソルにアクセスするには、 LoadOEMCursor
またはloadstandardcursorメンバー関数を使用します。
例
// In the stdafx.h file, add #define OEMRESOURCE to
// include the windows.h definitions of OCR_ values.
#define OEMRESOURCE
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
HCURSOR hCursor;
// Load the predefined WIndows "size all" cursor.
hCursor = AfxGetApp()->LoadOEMCursor(OCR_SIZEALL);
CWinApp:: LoadOEMIcon
nIDIconによって指定された Windows 定義済みのアイコンリソースを読み込みます。
HICON LoadOEMIcon(UINT nIDIcon) const;
パラメーター
nIDIcon
定義済みの Windows アイコンを指定するOIC_マニフェスト定数識別子。 WINDOWS .H のOIC_定数にアクセスするには、の前に #include \<afxwin.h>
が #define OEMRESOURCE
必要です。
戻り値
成功した場合はアイコンを示すハンドル。それ以外の場合は NULL。
注釈
LoadOEMIcon
定義済みの Windows アイコンにアクセスするには、またはLoadStandardIconメンバー関数を使用します。
CWinApp:: LoadStandardCursor
lpszcursor nameによって指定された Windows 定義済みのカーソルリソースを読み込みます。
HCURSOR LoadStandardCursor(LPCTSTR lpszCursorName) const;
パラメーター
Lpszカーソル名
定義済みの Windows カーソルを指定するIDC_マニフェスト定数識別子。 これらの識別子は、WINDOWS .H で定義されています。 次の一覧に、 Lpszカーソル名に使用できる定義済みの値と意味を示します。
IDC_ARROW 標準の矢印カーソル
IDC_IBEAM 標準のテキスト挿入カーソル
Windows が時間のかかるタスクを実行するときに使用される砂時計カーソル IDC_WAIT
選択範囲の十字線カーソルを IDC_CROSS
IDC_UPARROW 矢印をポイントする
IDC_SIZE 互換性のために残されています。IDC_SIZEALL を使用する
4つの矢印を IDC_SIZEALL ます。 ウィンドウのサイズを変更するために使用するカーソル。
IDC_ICON 互換性のために残されています。 IDC_ARROW を使用します。
左上と右下に両端がある双方向矢印 IDC_SIZENWSE
右上隅と左下にある双方向矢印 IDC_SIZENESW
左右双方向矢印を IDC_SIZEWE
垂直方向の2方向矢印を IDC_SIZENS
戻り値
成功した場合はカーソルを処理するハンドル。それ以外の場合は NULL。
注釈
定義済みの Windows カーソルにアクセスするには、 LoadStandardCursor
またはloadoemcursorメンバー関数を使用します。
例
HCURSOR hCursor;
// Load the predefined Windows "up arrow" cursor.
hCursor = AfxGetApp()->LoadStandardCursor(IDC_UPARROW);
CWinApp:: LoadStandardIcon
lpsziconnameによって指定された Windows 定義済みのアイコンリソースを読み込みます。
HICON LoadStandardIcon(LPCTSTR lpszIconName) const;
パラメーター
lpszIconName
定義済みの Windows アイコンを指定するマニフェスト定数識別子。 これらの識別子は、WINDOWS .H で定義されています。 定義可能な定義済みの値とその説明の一覧については、Windows SDK のloadiconのlsee onnameパラメーターを参照してください。
戻り値
成功した場合はアイコンを示すハンドル。それ以外の場合は NULL。
注釈
定義済みの Windows アイコンにアクセスするには、 LoadStandardIcon
またはloadoemiconメンバー関数を使用します。
CWinApp:: LoadStdProfileSettings
このメンバー関数を InitInstance メンバー関数内から呼び出して、最近使用した (MRU) ファイルと最後のプレビュー状態の一覧を有効にし、読み込みます。
void LoadStdProfileSettings(UINT nMaxMRU = _AFX_MRU_COUNT);
パラメーター
nMaxMRU
追跡する最近使用したファイルの数。
注釈
Nmaxmruが0の場合、mru リストは保持されません。
CWinApp:: m_bHelpMode
アプリケーションがヘルプコンテキストモードである場合は TRUE (従来は SHIFT + F1 キーを使用して呼び出されます)。それ以外の場合は FALSE。
BOOL m_bHelpMode;
注釈
ヘルプコンテキストモードでは、カーソルは疑問符になり、ユーザーは画面に移動できます。 ヘルプモードでの特別な処理を実装する場合は、このフラグを調べます。 m_bHelpMode
は、BOOL 型のパブリック変数です。
CWinApp::m_dwRestartManagerSupportFlags
再起動マネージャーの動作を決定するフラグ。
DWORD m_dwRestartManagerSupportFlags;
注釈
再起動マネージャーを有効にするには、を目的の動作に設定 m_dwRestartManagerSupportFlags
します。 次の表は、使用可能なフラグを示しています。
フラグ | 説明 |
---|---|
AFX_RESTART_MANAGER_SUPPORT_RESTART | アプリケーションは、 CWinApp:: RegisterWithRestartManagerを使用して登録されます。 再起動マネージャーは、予期せず終了した場合に、アプリケーションを再起動する役割を担います。 |
-AFX_RESTART_MANAGER_SUPPORT_RECOVERY | アプリケーションは再起動マネージャーに登録され、再起動マネージャーはアプリケーションを再起動するときに、回復コールバック関数を呼び出します。 既定の回復コールバック関数は、 CWinApp:: ApplicationRecoveryCallbackです。 |
-AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART | 自動保存が有効になり、再起動マネージャーによって、アプリケーションの再起動時に開いているすべてのドキュメントが自動保存されます。 |
-AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL | 自動保存が有効になり、再起動マネージャーは開いているドキュメントを一定の間隔で自動保存します。 この間隔は、 CWinApp:: m_nAutosaveIntervalによって定義されます。 |
-AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES | 再起動マネージャーは、予期しない終了からアプリケーションを再起動した後、以前に開いていたドキュメントを開きます。 CDataRecoveryHandler クラスは、開いているドキュメントの一覧を格納し、それらを復元します。 |
-AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES | 再起動マネージャーは、アプリケーションの再起動後に、自動保存されたファイルを復元するようにユーザーに要求します。 クラスは CDataRecoveryHandler 、ユーザーに対してクエリを行います。 |
-AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE | AFX_RESTART_MANAGER_SUPPORT_RESTART、AFX_RESTART_MANAGER_SUPPORT_RECOVER、および AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES の和集合。 |
-AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS | AFX_RESTART_MANAGER_SUPPORT_NO_AUTOSAVE、AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART、AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL、および AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES の和集合。 |
-AFX_RESTART_MANAGER_SUPPORT_RESTART_ASPECTS | AFX_RESTART_MANAGER_SUPPORT_RESTART、AFX_RESTART_MANAGER_AUTOSAVE_AT_RESTART、AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES、および AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES の和集合。 |
-AFX_RESTART_MANAGER_SUPPORT_RECOVERY_ASPECTS | Union ofAFX_RESTART_MANAGER_SUPPORT_RECOVERY、AFX_RESTART_MANAGER_AUTOSAVE_AT_INTERVAL、AFX_RESTART_MANAGER_REOPEN_PREVIOUS_FILES、および AFX_RESTART_MANAGER_RESTORE_AUTOSAVED_FILES。 |
CWinApp:: m_eHelpType
このデータメンバーの型は AFX_HELP_TYPE 列挙型であり、クラス内で CWinApp
定義されています。
AFX_HELP_TYPE m_eHelpType;
注釈
AFX_HELP_TYPE 列挙体は次のように定義されます。
enum AFX_HELP_TYPE {
afxWinHelp = 0,
afxHTMLHelp = 1
};
アプリケーションのヘルプを HTML ヘルプに設定するには、 Sei pmode を呼び出し、を指定
afxHTMLHelp
します。アプリケーションのヘルプを WinHelp に設定するには、を呼び出し
SetHelpMode
、を指定afxWinHelp
します。
CWinApp:: m_hInstance
Windows によってに WinMain
渡されるhInstanceパラメーターに対応します。
HINSTANCE m_hInstance;
注釈
m_hInstance
このデータメンバーは Windows で実行されているアプリケーションの現在のインスタンスへのハンドルです。 これは、グローバル関数 AfxGetInstanceHandleによって返されます。 m_hInstance
は、HINSTANCE 型のパブリック変数です。
例
// Typically you do not need to pass the application's hInstance
// to Windows APIs directly because there are equivalent MFC
// member functions that pass the hInstance for you. The following
// example is not typical:
HCURSOR hCursor;
hCursor = ::LoadCursor(AfxGetApp()->m_hInstance,
MAKEINTRESOURCE(IDC_MYCURSOR));
// A more direct way to get the application's hInstance is to
// call AfxGetInstanceHandle:
hCursor = ::LoadCursor(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDC_MYCURSOR));
// If you need the hInstance to load a resource, it is better
// to call AfxGetResourceHandle instead of AfxGetInstanceHandle:
hCursor = ::LoadCursor(AfxGetResourceHandle(),
MAKEINTRESOURCE(IDC_MYCURSOR));
// A better way to load the cursor resource is to call
// CWinApp::LoadCursor
hCursor = AfxGetApp()->LoadCursor(IDC_MYCURSOR);
CWinApp:: m_lpCmdLine
Windows によってに WinMain
渡されるlpCmdLineパラメーターに対応します。
LPTSTR m_lpCmdLine;
注釈
アプリケーションのコマンドラインを指定する null で終わる文字列を指します。 アプリケーションの起動時にユーザーが入力したコマンドライン引数にアクセスするには、を使用 m_lpCmdLine
します。 m_lpCmdLine
は、LPTSTR 型のパブリック変数です。
例
if (m_lpCmdLine[0] == _T('\0'))
{
// Create a new (empty) document.
OnFileNew();
}
else
{
// Open a file passed as the first command line parameter.
OpenDocumentFile(m_lpCmdLine);
}
CWinApp::m_nAutosaveInterval
自動保存の時間の長さ (ミリ秒単位)。
int m_nAutosaveInterval;
注釈
開いているドキュメントを設定した間隔で自動保存するように再起動マネージャーを構成できます。 アプリケーションがファイルを自動保存しない場合、このパラメーターは無効です。
CWinApp:: m_nCmdShow
Windows によってに WinMain
渡されるncmdshowパラメーターに対応します。
int m_nCmdShow;
注釈
アプリケーションのメインウィンドウに対してCWnd:: ShowWindowを呼び出す場合は、を引数として渡す m_nCmdShow
必要があります。 m_nCmdShow
は型 int
のパブリック変数です。
例
// The following code fragment is taken from CMyApp::InitInstance.
// CMyApp is derived from CWinApp.
// The main window has been initialized, so show and update it
// using the nCmdShow parameter passed to the application when it
// was first launched.
// pMainFrame is the main MDI frame window of our app and is derived
// from CMDIFrameWnd.
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();
CWinApp:: m_pActiveWnd
OLE サーバーアプリケーションが埋め込み先でアクティブになっている OLE コンテナーアプリケーションのメインウィンドウへのポインターを格納するには、このデータメンバーを使用します。
注釈
このデータメンバーが NULL の場合、アプリケーションはアクティブな状態ではありません。
フレームワークは、フレームウィンドウが OLE コンテナーアプリケーションによって埋め込み先に配置されている場合に、このメンバー変数を設定します。
CWinApp:: m_pDataRecoveryHandler
アプリケーションのデータ復旧ハンドラーへのポインター。
CDataRecoveryHandler* m_pDataRecoveryHandler;
注釈
アプリケーションのデータ回復ハンドラーは、開いているドキュメントを監視し、それらを自動保存します。 フレームワークは、予期せずに終了した後にアプリケーションが再起動したときに、データ回復ハンドラーを使用して自動保存されたファイルを復元します。 詳細については、「 CDataRecoveryHandler クラス」を参照してください。
CWinApp:: m_pszAppName
アプリケーションの名前を指定します。
LPCTSTR m_pszAppName;
注釈
アプリケーション名は、 CWinApp コンストラクターに渡されたパラメーターから取得できます。指定されていない場合は、AFX_IDS_APP_TITLE の ID を持つリソース文字列になります。 アプリケーション名がリソース内に見つからない場合は、プログラムの .EXE ファイル名を基にしています。
グローバル関数 AfxGetAppNameによって返されます。 m_pszAppName
const char* 型のパブリック変数です。
注意
に m_pszAppName
値を割り当てた場合は、ヒープに動的に割り当てられる必要があります。 デストラクターは、 CWinApp
このポインターを使用して free() を呼び出します。 多くの _tcsdup
場合、() ランタイムライブラリ関数を使用して割り当てを実行します。 また、新しい値を割り当てる前に、現在のポインターに関連付けられているメモリを解放します。 次に例を示します。
//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszAppName);
//Change the name of the application file.
//The CWinApp destructor will free the memory.
m_pszAppName = _tcsdup(_T("c:\\somedir\\myapp.exe"));
例
CWnd *pWnd = AfxGetMainWnd();
// Set pWnd to some CWnd object whose window has already
// been created.
// The following call to CWnd::MessageBox uses the application
// title as the message box caption.
pWnd->MessageBox(_T("Some message"), AfxGetApp()->m_pszAppName);
// A more direct way to get the application title is to
// call AfxGetAppName:
pWnd->MessageBox(_T("Some message"), AfxGetAppName());
// An easier way to display a message box using the application
// title as the message box caption is to call AfxMessageBox:
AfxMessageBox(_T("Some message"));
CWinApp:: m_pszExeName
拡張子のないアプリケーションの実行可能ファイルの名前を格納します。
LPCTSTR m_pszExeName;
注釈
M_pszAppNameとは異なり、この名前に空白を含めることはできません。 m_pszExeName
const char* 型のパブリック変数です。
注意
に m_pszExeName
値を割り当てた場合は、ヒープに動的に割り当てられる必要があります。 デストラクターは、 CWinApp
このポインターを使用して free() を呼び出します。 多くの _tcsdup
場合、() ランタイムライブラリ関数を使用して割り当てを実行します。 また、新しい値を割り当てる前に、現在のポインターに関連付けられているメモリを解放します。 次に例を示します。
//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszExeName);
//Change the name of the .EXE file.
//The CWinApp destructor will free the memory.
m_pszExeName = _tcsdup(_T("c:\\somedir\\myapp"));
CWinApp:: m_pszHelpFilePath
アプリケーションのヘルプファイルへのパスが含まれます。
LPCTSTR m_pszHelpFilePath;
注釈
既定では、フレームワークは、アプリケーションの名前に "" を指定して初期化 m_pszHelpFilePath
します。HLP "が追加されています。 ヘルプファイルの名前を変更するには、をに設定 m_pszHelpFilePath
して、目的のヘルプファイルの完全な名前を含む文字列を指定します。 これを行うための便利な場所は、アプリケーションの InitInstance 関数です。 m_pszHelpFilePath
const char* 型のパブリック変数です。
注意
に m_pszHelpFilePath
値を割り当てた場合は、ヒープに動的に割り当てられる必要があります。 デストラクターは、 CWinApp
このポインターを使用して free() を呼び出します。 多くの _tcsdup
場合、() ランタイムライブラリ関数を使用して割り当てを実行します。 また、新しい値を割り当てる前に、現在のポインターに関連付けられているメモリを解放します。 次に例を示します。
//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszHelpFilePath);
//Change the name of the .HLP file.
//The CWinApp destructor will free the memory.
m_pszHelpFilePath = _tcsdup(_T("c:\\somedir\\myhelp.hlp"));
CWinApp:: m_pszProfileName
アプリケーションの .INI ファイルの名前を格納します。
LPCTSTR m_pszProfileName;
注釈
m_pszProfileName
const char* 型のパブリック変数です。
注意
に m_pszProfileName
値を割り当てた場合は、ヒープに動的に割り当てられる必要があります。 デストラクターは、 CWinApp
このポインターを使用して free() を呼び出します。 多くの _tcsdup
場合、() ランタイムライブラリ関数を使用して割り当てを実行します。 また、新しい値を割り当てる前に、現在のポインターに関連付けられているメモリを解放します。 次に例を示します。
//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszProfileName);
//Change the name of the .INI file.
//The CWinApp destructor will free the memory.
m_pszProfileName = _tcsdup(_T("c:\\somedir\\myini.ini"));
CWinApp:: m_pszRegistryKey
レジストリまたは INI ファイル内のアプリケーションプロファイル設定が格納されている場所を決定するために使用されます。
LPCTSTR m_pszRegistryKey;
注釈
通常、このデータメンバーは読み取り専用として扱われます。
- 値はレジストリキーに格納されます。 アプリケーションプロファイル設定の名前は、次のレジストリキーに追加されます: HKEY_CURRENT_USER/Software/LocalAppWizard-Generated/.
に m_pszRegistryKey
値を割り当てた場合は、ヒープに動的に割り当てられる必要があります。 デストラクターは、 CWinApp
このポインターを使用して free() を呼び出します。 多くの _tcsdup
場合、() ランタイムライブラリ関数を使用して割り当てを実行します。 また、新しい値を割り当てる前に、現在のポインターに関連付けられているメモリを解放します。 次に例を示します。
//First free the string allocated by MFC at CWinApp startup.
//The string is allocated before InitInstance is called.
free((void*)m_pszRegistryKey);
//Change the name of the registry key.
//The CWinApp destructor will free the memory.
m_pszRegistryKey = _tcsdup(
_T("HKEY_CURRENT_USER\\Software\\mycompany\\myapp\\thissection\\thisvalue"));
CWinApp:: m_pszAppID
アプリケーションユーザーモデル ID。
LPCTSTR m_pszAppID;
注釈
CWinApp:: OnContextHelp
アプリケーション内の SHIFT + F1 ヘルプを処理します。
afx_msg void OnContextHelp();
注釈
このメンバー関数を有効にするには、クラスメッセージマップに CWinApp
ステートメントを追加 ON_COMMAND( ID_CONTEXT_HELP, OnContextHelp )
し、アクセラレータテーブルエントリ (通常は SHIFT + F1 キー) も追加する必要があります。
OnContextHelp
アプリケーションをヘルプモードにします。 カーソルが矢印と疑問符に変わり、ユーザーはマウスポインターを移動し、マウスの左ボタンを押して、ダイアログボックス、ウィンドウ、メニュー、またはコマンドボタンを選択できます。 このメンバー関数は、カーソルの下にあるオブジェクトのヘルプコンテキストを取得し、そのヘルプコンテキストを使用して Windows 関数 WinHelp を呼び出します。
CWinApp:: OnDDECommand
メインフレームウィンドウが DDE 実行メッセージを受信すると、フレームワークによって呼び出されます。
virtual BOOL OnDDECommand(LPTSTR lpszCommand);
パラメーター
lpszCommand
アプリケーションによって受信された DDE コマンド文字列を指します。
戻り値
コマンドが処理される場合は0以外の。それ以外の場合は0です。
注釈
既定の実装は、コマンドがドキュメントを開く要求であるかどうかを確認し、存在する場合は、指定されたドキュメントを開きます。 通常、Windows ファイルマネージャーは、ユーザーがデータファイルをダブルクリックしたときに、このような DDE コマンド文字列を送信します。 この関数をオーバーライドして、他の DDE 実行コマンド (印刷するコマンドなど) を処理します。
例
BOOL CMyApp::OnDDECommand(LPTSTR lpszCommand)
{
if (CWinApp::OnDDECommand(lpszCommand))
return TRUE;
// Handle any DDE commands recognized by your application
// and return TRUE. See implementation of CWinApp::OnDDEComand
// for example of parsing the DDE command string.
// Return FALSE for any DDE commands you do not handle.
return FALSE;
}
CWinApp:: OnFileNew
ID_FILE_NEW コマンドを実装します。
afx_msg void OnFileNew();
注釈
このメンバー関数を有効にするには、ステートメントをクラスメッセージマップに CWinApp
追加 ON_COMMAND( ID_FILE_NEW, OnFileNew )
する必要があります。 有効になっている場合、この関数は File New コマンドの実行を処理します。
既定の動作とこのメンバー関数をオーバーライドする方法については、「 テクニカルノート 22 」を参照してください。
例
// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()
CWinApp:: OnFileOpen
ID_FILE_OPEN コマンドを実装します。
afx_msg void OnFileOpen();
注釈
このメンバー関数を有効にするには、ステートメントをクラスメッセージマップに CWinApp
追加 ON_COMMAND( ID_FILE_OPEN, OnFileOpen )
する必要があります。 有効になっている場合、この関数は File Open コマンドの実行を処理します。
既定の動作と、このメンバー関数をオーバーライドする方法に関するガイダンスについては、「 テクニカルノート 22」を参照してください。
例
// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()
CWinApp::OnFilePrintSetup
ID_FILE_PRINT_SETUP コマンドを実装します。
afx_msg void OnFilePrintSetup();
注釈
このメンバー関数を有効にするには、ステートメントをクラスメッセージマップに CWinApp
追加 ON_COMMAND( ID_FILE_PRINT_SETUP, OnFilePrintSetup )
する必要があります。 有効になっている場合、この関数は、ファイル印刷コマンドの実行を処理します。
既定の動作と、このメンバー関数をオーバーライドする方法に関するガイダンスについては、「 テクニカルノート 22」を参照してください。
例
// The following message map, produced by the Application Wizard, binds
// the File New, Open, and Print Setup menu commands to default
// framework implementations of these commands.
BEGIN_MESSAGE_MAP(CStdApp, CWinApp)
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
// Standard print setup command
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
// The following message map illustrates how to rebind the
// File New, Open and Print Setup menu commands to handlers that
// you implement in your CWinApp-derived class.
// Note, you can name the handler CCustomApp::OnFileNew instead of
// CCustomApp::OnMyFileNew, and likewise for the other handlers, if desired.
BEGIN_MESSAGE_MAP(CCustomApp, CWinApp)
ON_COMMAND(ID_FILE_NEW, &CCustomApp::OnMyFileNew)
ON_COMMAND(ID_FILE_OPEN, &CCustomApp::OnMyFileOpen)
ON_COMMAND(ID_FILE_PRINT_SETUP, &CCustomApp::OnMyFilePrintSetup)
END_MESSAGE_MAP()
CWinApp:: OnHelp
アプリケーション内で F1 ヘルプを (現在のコンテキストを使って) 処理します。
afx_msg void OnHelp();
注釈
通常は、F1 キーのアクセラレータキーのエントリも追加します。 F1 キーを有効にすることは、必須条件ではなく、規則にすぎません。
このメンバー関数を有効にするには、ステートメントをクラスメッセージマップに CWinApp
追加 ON_COMMAND( ID_HELP, OnHelp )
する必要があります。 有効な場合は、ユーザーが F1 キーを押したときにフレームワークによって呼び出されます。
このメッセージハンドラー関数の既定の実装では、現在のウィンドウ、ダイアログボックス、またはメニュー項目に対応するヘルプコンテキストが決定され、WINHELP.EXE が呼び出されます。 コンテキストが現在使用できない場合、関数は既定のコンテキストを使用します。
このメンバー関数をオーバーライドして、現在フォーカスがあるウィンドウ、ダイアログボックス、メニュー項目、またはツールバーボタン以外にヘルプコンテキストを設定します。 目的のヘルプコンテキスト ID を指定してを呼び出し WinHelp
ます。
CWinApp:: OnHelpFinder
ID_HELP_FINDER および ID_DEFAULT_HELP コマンドを処理します。
afx_msg void OnHelpFinder();
注釈
このメンバー関数を有効にするには、ステートメントをクラスメッセージマップに CWinApp
追加 ON_COMMAND( ID_HELP_FINDER, OnHelpFinder )
する必要があります。 有効にした場合、フレームワークは、アプリケーションのユーザーが Help Finder コマンドを選択して標準HELP_FINDERトピックで呼び出す WinHelp
ヘルプファインダーコマンドを選択すると、このメッセージハンドラー関数を呼び出します。
CWinApp:: OnHelpIndex
ID_HELP_INDEX コマンドを処理し、既定のヘルプトピックを提供します。
afx_msg void OnHelpIndex();
注釈
このメンバー関数を有効にするには、ステートメントをクラスメッセージマップに CWinApp
追加 ON_COMMAND( ID_HELP_INDEX, OnHelpIndex )
する必要があります。 有効にした場合、フレームワークは、アプリケーションのユーザーが標準HELP_INDEXトピックで起動 WinHelp
する Help Index コマンドを選択したときに、このメッセージハンドラー関数を呼び出します。
CWinApp:: OnHelpUsing
ID_HELP_USING コマンドを処理します。
afx_msg void OnHelpUsing();
注釈
このメンバー関数を有効にするには、ステートメントをクラスメッセージマップに CWinApp
追加 ON_COMMAND( ID_HELP_USING, OnHelpUsing )
する必要があります。 このメッセージハンドラー関数は、アプリケーションのユーザーが、標準HELP_HELPONHELPトピックを使用してアプリケーションを起動 WinHelp
するための Help Using コマンドを選択したときに呼び出されます。
CWinApp:: OnIdle
アイドル時間の処理を実行するには、このメンバー関数をオーバーライドします。
virtual BOOL OnIdle(LONG lCount);
パラメーター
lCount
アプリケーションのメッセージキューが空のときにが呼び出されるたびに、カウンターがインクリメント OnIdle
されます。 このカウントは、新しいメッセージが処理されるたびに0にリセットされます。 LCountパラメーターを使用すると、メッセージを処理せずにアプリケーションがアイドル状態になっている時間の相対的な長さを確認できます。
戻り値
アイドル状態の処理時間を増やすには0以外。アイドル時間がこれ以上必要ない場合は0。
注釈
OnIdle
は、アプリケーションのメッセージキューが空のときに、既定のメッセージループで呼び出されます。 オーバーライドを使用して、独自のバックグラウンドアイドルハンドラータスクを呼び出します。
OnIdle
は、アイドル処理時間が不要であることを示すために0を返す必要があります。 LCountパラメーターは、メッセージキューが空のときにが呼び出されるたびに増分 OnIdle
され、新しいメッセージが処理されるたびに0にリセットされます。 この数に基づいて、異なるアイドルルーチンを呼び出すことができます。
次に、アイドルループ処理の概要を示します。
Microsoft Foundation Class ライブラリ内のメッセージループがメッセージキューを確認し、保留中のメッセージが検出されなかった場合は、アプリケーションオブジェクトを呼び出し
OnIdle
、 lCount 引数として0を指定します。OnIdle
処理を実行し、0以外の値を返して、さらに処理を行うために再度呼び出す必要があることを示します。メッセージループは、メッセージキューを再度確認します。 保留中のメッセージがない場合は、を再度呼び出し
OnIdle
て、 lCount 引数をインクリメントします。最終的には、はすべてのアイドルタスクの処理を終了し、
OnIdle
0 を返します。 これにより、メッセージキューから次のメッセージが受信されるまで呼び出しOnIdle
を停止するようメッセージループに指示します。この時点で、引数が0に設定された状態で、アイドルサイクルが再開されます。
アプリケーションがを返すまで OnIdle
ユーザー入力を処理できないため、時間 OnIdle
のかかるタスクを実行しないでください。
注意
更新プログラムの既定の実装では、メニュー項目やツールバーボタンなどのユーザーインターフェイスオブジェクトが実行され、内部データ構造の OnIdle
クリーンアップが実行されます。 したがって、をオーバーライド OnIdle
する場合は、オーバーライドされたバージョンのを使用して lCount
を呼び出す CWinApp::OnIdle
必要があります。 最初に、すべての基本クラスのアイドル処理を呼び出します (つまり、基底クラス OnIdle
が0を返すまで)。 基本クラスの処理が完了する前に作業を実行する必要がある場合は、基本クラスの実装を確認して、作業を行うための適切な lCount を選択します。
OnIdle
メッセージキューからメッセージが取得されるたびに呼び出さない場合は、 CWinThreadIsIdleMessageをオーバーライドできます。 アプリケーションで非常に短いタイマーが設定されている場合、またはシステムが WM_SYSTIMER メッセージを送信している場合は、 OnIdle
が繰り返し呼び出され、パフォーマンスが低下します。
例
次の2つの例は、の使用 OnIdle
方法を示しています。 最初の例では、 lCount 引数を使用して2つのアイドルタスクを処理し、タスクの優先順位を設定します。 最初のタスクは優先度が高く、可能な場合はいつでも実行する必要があります。 2番目のタスクは重要度が低いため、ユーザー入力に長い待ち時間がある場合にのみ実行してください。 の OnIdle
基本クラスバージョンへの呼び出しに注意してください。 2番目の例では、優先順位の異なるアイドルタスクのグループを管理します。
BOOL CMyApp::OnIdle(LONG lCount)
{
BOOL bMore = CWinApp::OnIdle(lCount);
if (lCount == 0)
{
TRACE(_T("App idle for short period of time\n"));
bMore = TRUE;
}
else if (lCount == 10)
{
TRACE(_T("App idle for longer amount of time\n"));
bMore = TRUE;
}
else if (lCount == 100)
{
TRACE(_T("App idle for even longer amount of time\n"));
bMore = TRUE;
}
else if (lCount == 1000)
{
TRACE(_T("App idle for quite a long period of time\n"));
// bMore is not set to TRUE, no longer need idle
// IMPORTANT: bMore is not set to FALSE since CWinApp::OnIdle may
// have more idle tasks to complete.
}
return bMore;
// return TRUE as long as there are any more idle tasks
}
CWinApp:: OpenDocumentFile
フレームワークは、このメソッドを呼び出して、アプリケーションの名前付きの CDocument ファイルを開きます。
virtual CDocument* OpenDocumentFile(
LPCTSTR lpszFileName
BOOL bAddToMRU = TRUE);
パラメーター
lpszFileName
[in] 開くファイルの名前。
bAddToMRU
からTRUE は、ドキュメントが最新のファイルの1つであることを示します。FALSE は、ドキュメントが最新のファイルの1つではないことを示します。
戻り値
成功した場合はへ CDocument
のポインター。それ以外の場合は NULL。
注釈
その名前を持つドキュメントが既に開いている場合、そのドキュメントを含む最初のフレームウィンドウにフォーカスが移動します。 アプリケーションが複数のドキュメントテンプレートをサポートしている場合、フレームワークはファイル名拡張子を使用して、ドキュメントの読み込みを試みる適切なドキュメントテンプレートを検索します。 成功した場合は、ドキュメントテンプレートによって、ドキュメントのフレームウィンドウとビューが作成されます。
例
if (m_lpCmdLine[0] == _T('\0'))
{
// Create a new (empty) document.
OnFileNew();
}
else
{
// Open a file passed as the first command line parameter.
OpenDocumentFile(m_lpCmdLine);
}
CWinApp::P arseCommandLine
このメンバー関数を呼び出してコマンドラインを解析し、パラメーターを一度に1つずつ CCommandLineInfo::P arseparamに送信します。
void ParseCommandLine(CCommandLineInfo& rCmdInfo);
パラメーター
rCmdInfo
CCommandLineInfoオブジェクトへの参照。
注釈
アプリケーションウィザードを使用して新しい MFC プロジェクトを開始すると、アプリケーションウィザードによっての CCommandLineInfo
ローカルインスタンスが作成され、 InitInstanceメンバー関数でと ParseCommandLine
が呼び出さ ProcessShellCommand
れます。 コマンドラインは、次に示すルートに従います。
で
InitInstance
作成されたオブジェクトは、CCommandLineInfo
にParseCommandLine
渡されます。ParseCommandLine
次に、パラメーターごとに1回、を繰り返し呼び出しCCommandLineInfo::ParseParam
ます。ParseParam
CCommandLineInfo
オブジェクトを塗りつぶし、 ProcessShellCommandに渡します。ProcessShellCommand
コマンドライン引数とフラグを処理します。
必要に応じてを直接呼び出す ParseCommandLine
ことができることに注意してください。
コマンドラインフラグの詳細については、「 CCommandLineInfo:: m_nShellCommand」を参照してください。
CWinApp::P reTranslateMessage
この関数をオーバーライドすると Windows、 TranslateMessage関数にディスパッチされる前にウィンドウメッセージをフィルター処理できます。既定の実装では、アクセラレータキー変換が実行されるため、オーバーライドされたバージョンでメンバー関数を呼び出す CWinApp::PreTranslateMessage
必要があります。
virtual BOOL PreTranslateMessage(MSG* pMsg);
パラメーター
pMsg
処理するメッセージを含む MSG 構造体へのポインター。
戻り値
メッセージがで完全に処理され、それ以上処理されない場合は0以外の PreTranslateMessage
。 メッセージを通常の方法で処理する必要がある場合は0。
CWinApp::P Roて Messagefilter
フレームワークのフック関数は、このメンバー関数を呼び出して、特定の Windows メッセージをフィルター処理し、応答します。
virtual BOOL ProcessMessageFilter(
int code,
LPMSG lpMsg);
パラメーター
code
フックコードを指定します。 このメンバー関数は、コードを使用して、 Lpmsgの処理方法を決定します。
lpMsg
Windows MSGstructure へのポインター。
戻り値
メッセージが処理される場合は0以外の。それ以外の場合は0です。
注釈
フック関数は、アプリケーションの通常のメッセージ処理に送信される前に、イベントを処理します。
この高度な機能をオーバーライドする場合は、フレームワークのフック処理を維持するために、基本クラスのバージョンを必ず呼び出してください。
CWinApp::P rocessShellCommand
このメンバー関数は、 Rcmdinfoによって識別されるオブジェクトから CCommandLineInfo
渡されたパラメーターを受け入れ、指定されたアクションを実行するために、 InitInstanceによって呼び出されます。
BOOL ProcessShellCommand(CCommandLineInfo& rCmdInfo);
パラメーター
rCmdInfo
CCommandLineInfoオブジェクトへの参照。
戻り値
シェルコマンドが正常に処理された場合は0以外の。 0の場合は、 InitInstanceから FALSE を返します。
注釈
アプリケーションウィザードを使用して新しい MFC プロジェクトを開始すると、アプリケーションウィザードによっての CCommandLineInfo
ローカルインスタンスが作成され、メンバー関数で InitInstance
とParseCommandLineが呼び出さ ProcessShellCommand
れます。 コマンドラインは、次に示すルートに従います。
で
InitInstance
作成されたオブジェクトは、CCommandLineInfo
にParseCommandLine
渡されます。ParseCommandLine
次に、パラメーターごとに1回、 CCommandLineInfo::P arseparam を繰り返し呼び出します。ParseParam
オブジェクトをいっぱいにしてCCommandLineInfo
、にProcessShellCommand
渡します。ProcessShellCommand
コマンドライン引数とフラグを処理します。
CCommandLineInfo:: m_nShellCommandによって識別されるオブジェクトの CCommandLineInfo
データメンバーは、クラス内で CCommandLineInfo
定義されている次の列挙型です。
enum {
FileNew,
FileOpen,
FilePrint,
FilePrintTo,
FileDDE
};
これらの各値の簡単な説明については、「」を参照して CCommandLineInfo::m_nShellCommand
ください。
CWinApp::P rocessWndProcException
このメンバー関数は、アプリケーションのメッセージハンドラーまたはコマンドハンドラーの1つでスローされた例外をハンドラーがキャッチしない場合は常に、フレームワークによって呼び出されます。
virtual LRESULT ProcessWndProcException(
CException* e,
const MSG* pMsg);
パラメーター
e
キャッチされていない例外へのポインター。
pMsg
フレームワークが例外をスローする原因となった windows メッセージに関する情報を含む MSGstructure。
戻り値
Windows に返される値。 通常、これは windows メッセージの場合は0L、コマンドメッセージの場合は 1L (TRUE) になります。
注釈
このメンバー関数を直接呼び出さないでください。
このメンバー関数の既定の実装では、メッセージボックスが作成されます。 キャッチされていない例外がメニュー、ツールバー、またはアクセラレータコマンドのエラーによって発生した場合、メッセージボックスに "Command failed" というメッセージが表示されます。それ以外の場合は、"内部アプリケーションエラー" メッセージが表示されます。
このメンバー関数をオーバーライドして、例外のグローバルな処理を提供します。 メッセージボックスを表示する場合にのみ、基本機能を呼び出します。
CWinApp:: Register
によって処理されないすべての登録タスクを RegisterShellFileTypes
実行します。
virtual BOOL Register();
戻り値
正常に完了した場合はゼロ以外、それ以外の場合は 0 です。
注釈
既定の実装では、単に TRUE が返されます。 カスタマイズされた登録手順を提供するには、この関数をオーバーライドします。
CWinApp:: RegisterShellFileTypes
このメンバー関数を呼び出して、すべてのアプリケーションのドキュメントの種類を Windows ファイルマネージャーに登録します。
void RegisterShellFileTypes(BOOL bCompat = FALSE);
パラメーター
bCompat
からTRUE を使用すると、シェルコマンドの登録エントリが Print および Print に追加され、ユーザーはシェルから直接ファイルを印刷したり、ファイルをプリンターオブジェクトにドラッグしたりできます。 また、DefaultIcon キーも追加します。 既定では、旧バージョンとの互換性のために、このパラメーターは FALSE です。
注釈
これにより、ユーザーは、アプリケーションで作成されたデータファイルをファイルマネージャー内でダブルクリックして開くことができます。 アプリケーションの各ドキュメントテンプレートに対して、adddoctemplateを呼び出した後、を呼び出し RegisterShellFileTypes
ます。 また、を呼び出す RegisterShellFileTypes
と、 EnableShellOpenメンバー関数も呼び出されます。
RegisterShellFileTypes
アプリケーションによって保持されるCDocTemplateオブジェクトの一覧を反復処理し、各ドキュメントテンプレートについて、ファイルの関連付け用に保持 Windows 登録データベースにエントリを追加します。 ファイルマネージャーは、ユーザーがダブルクリックしたときに、これらのエントリを使用してデータファイルを開きます。 これにより、を出荷する必要がなくなります。アプリケーションと共に REG ファイルを作成します。
注意
RegisterShellFileTypes
は、ユーザーが管理者権限でプログラムを実行した場合にのみ機能します。 プログラムに管理者権限がない場合、レジストリキーを変更することはできません。
指定したファイル名拡張子が登録データベースによって既に別の種類のファイルに関連付けられている場合、新しい関連付けは作成されません。 この情報を登録するために必要な文字列の形式については、 CDocTemplate
クラスを参照してください。
CWinApp:: RegisterWithRestartManager
アプリケーションを再起動マネージャーに登録します。
virtual HRESULT RegisterWithRestartManager(
BOOL bRegisterRecoveryCallback,
const CString& strRestartIdentifier);
virtual HRESULT RegisterWithRestartManager(
LPCWSTR pwzCommandLineArgs,
DWORD dwRestartFlags,
APPLICATION_RECOVERY_CALLBACK pRecoveryCallback,
LPVOID lpvParam,
DWORD dwPingInterval,
DWORD dwCallbackFlags);
パラメーター
bRegisterRecoveryCallback
からTRUE は、アプリケーションのこのインスタンスが復旧コールバック関数を使用することを示します。FALSE は、そうでないことを示します。 アプリケーションが予期せず終了した場合、フレームワークは回復コールバック関数を呼び出します。 詳細については、「 CWinApp:: ApplicationRecoveryCallback」を参照してください。
strRestartIdentifier
から再起動マネージャーのこのインスタンスを識別する一意の文字列。 Restart manager id は、アプリケーションの各インスタンスに対して一意です。
pwzCommandLineArgs
からコマンドラインからの追加の引数を含む文字列。
dwRestartFlags
から再起動マネージャーのオプションフラグ。 詳細については、「解説」を参照してください。
Preco・コールバック
から回復コールバック関数。 この関数は、LPVOID パラメーターを入力として受け取り、DWORD を返す必要があります。 既定の回復コールバック関数は CWinApp::ApplicationRecoveryCallback
です。
lpvParam
から復旧コールバック関数の入力パラメーター。 詳細については、「 CWinApp:: ApplicationRecoveryCallback」を参照してください。
dwPingInterval
から再起動マネージャーが復旧コールバック関数から戻るまで待機する時間の長さ。 このパラメーターは、ミリ秒単位で指定します。
Dwのフラグ
から復旧コールバック関数に渡されるフラグ。 将来利用するために予約されています。
戻り値
メソッドが成功した場合は S_OK。それ以外の場合は、エラーコード。
注釈
アプリケーションでワークファイルに既定の MFC 実装を使用する場合は、の RegisterWithRestartManager
単純なバージョンを使用する必要があります。 アプリケーションの自動保存動作をカスタマイズする場合は、の RegisterWithRestartManager
複合バージョンを使用します。
StrRestartIdentifierに空の文字列を指定してこのメソッドを呼び出すと、によって、 RegisterWithRestartManager
再起動マネージャーのこのインスタンスの一意の識別子文字列が作成されます。
アプリケーションが予期せず終了すると、再起動マネージャーによってアプリケーションがコマンドラインから再起動され、一意の再起動識別子がオプションの引数として提供されます。 このシナリオでは、フレームワークは2回を呼び出し RegisterWithRestartManager
ます。 最初の呼び出しは、文字列識別子に対して空の文字列を使用して、 CWinApp:: InitInstance から取得されます。 次に、メソッド CWinApp::P rocessshellcommand は、一意の再起動識別子を使用してを呼び出し RegisterWithRestartManager
ます。
アプリケーションを再起動マネージャーに登録すると、再起動マネージャーによってアプリケーションが監視されます。 アプリケーションが予期せず終了した場合、再起動マネージャーは、シャットダウンプロセス中に復旧コールバック関数を呼び出します。 再起動マネージャーは、回復コールバック関数からの応答に対して Dwpinginterval を待機します。 復旧コールバック関数がこの時間内に応答しない場合、アプリケーションは復旧コールバック関数を実行せずに終了します。
既定では、dwRestartFlags はサポートされていませんが、将来使用するために提供されています。 DwRestartFlagsに指定できる値は次のとおりです。
RESTART_NO_CRASH
RESTART_NO_HANG
RESTART_NO_PATCH
RESTART_NO_REBOOT
CWinApp:: Reopen前の Filesatrestart
アプリケーションが予期せず終了したときに開いたファイルを再起動マネージャーが再度開くかどうかを指定します。
virtual BOOL ReopenPreviousFilesAtRestart() const;
戻り値
[TRUE] を指定すると、再起動マネージャーによって以前に開いたファイルが再度開かれます。FALSE は、再起動マネージャーではないことを示します。
CWinApp:: RestartInstance
再起動マネージャーによって開始されたアプリケーションの再起動を処理します。
virtual BOOL CWinApp::RestartInstance();
戻り値
データ復旧ハンドラーが以前に開いたドキュメントを開く場合は TRUE。データ回復ハンドラーにエラーがある場合、または以前に開いていたドキュメントがない場合は FALSE。
注釈
再起動マネージャーによってアプリケーションが再起動されると、フレームワークはこのメソッドを呼び出します。 このメソッドは、データ復旧ハンドラーを取得し、自動保存されたファイルを復元します。 このメソッドは、 CDataRecoveryHandler:: RestoreAutosavedDocuments を呼び出して、ユーザーが自動保存されたファイルを復元する必要があるかどうかを判断します。
CDataRecoveryHandlerが開いているドキュメントがないと判断した場合、このメソッドは FALSE を返します。 開いているドキュメントがない場合は、通常、アプリケーションが起動します。
CWinApp:: RestoreAutosavedFilesAtRestart
再起動マネージャーが、アプリケーションの再起動時に自動保存されたファイルを復元するかどうかを指定します。
virtual BOOL RestoreAutosavedFilesAtRestart() const;
戻り値
TRUE は、再起動マネージャーが自動保存されたファイルを復元することを示します。FALSE は、再起動マネージャーではないことを示します。
CWinApp:: Run
既定のメッセージループを提供します。
virtual int Run();
戻り値
int
によって WinMain
返される値。
注釈
Run
アプリケーションが WM_QUIT メッセージを受信するまで Windows メッセージを取得してディスパッチします。 アプリケーションのメッセージキューに現在メッセージが含まれていない場合、はを呼び出して、 Run
アイドル時の処理を 実行します 。 受信メッセージは、特別な処理のためにPreTranslateMessageメンバー関数に移動し、標準キーボード翻訳の Windows 関数 TranslateMessage
に移動します。最後に、 DispatchMessage
Windows 関数が呼び出されます。
Run
がオーバーライドされることはほとんどありませんが、これをオーバーライドして特殊な動作を提供することができます。
CWinApp::RunAutomated
この関数を呼び出して、サーバーアプリケーションがクライアントアプリケーションによって起動されたかどうかを示す " /Automation" または " -Automation" オプションが存在するかどうかを確認します。
BOOL RunAutomated();
戻り値
オプションが見つかった場合は0以外の。それ以外の場合は0です。
注釈
存在する場合、オプションはコマンド ラインから削除されます。 OLE オートメーションの詳細については、Automation サーバーに関する記事 を参照してください。
CWinApp::RunEmbedded
この関数を呼び出して、" /Embedding" または " -Embedding" オプションが存在するかどうかを判断します。これは、サーバー アプリケーションがクライアント アプリケーションによって起動されたかどうかを示します。
BOOL RunEmbedded();
戻り値
オプションが見つかった場合は 0 以外。それ以外の場合は 0。
注釈
存在する場合、オプションはコマンド ラインから削除されます。 埋め込みの詳細については、「サーバー: サーバーの実装 」を参照してください。
CWinApp::SaveAllModified
アプリケーションのメイン フレーム ウィンドウを閉じる場合、またはメッセージを使用して、すべてのドキュメントを保存するために、フレームワークによってWM_QUERYENDSESSIONされます。
virtual BOOL SaveAllModified();
戻り値
安全にアプリケーションを終了できる場合は 0 以外。アプリケーションを終了しても安全ではない場合は 0。
注釈
このメンバー関数の既定の実装では、アプリケーション内のすべての変更されたドキュメントに対して CDocument::SaveModified メンバー関数が呼び出されます。
CWinApp::SelectPrinter
このメンバー関数を呼び出して特定のプリンターを選択し、[印刷] ダイアログ ボックスで以前に選択したプリンターを解放します。
void SelectPrinter(
HANDLE hDevNames,
HANDLE hDevMode,
BOOL bFreeOld = TRUE);
パラメーター
hDevNames
特定のプリンターの ドライバー、デバイス、および出力ポート名を識別する DEVNAMEStructure へのハンドル。
hDevMode
プリンターのデバイスの 初期化と 環境に関する情報を指定する DEVMODE 構造体へのハンドル。
bFreeOld
以前に選択したプリンターを解放します。
注釈
hDevMode とhDevNames の両方が NULL の場合、 は現在SelectPrinter
の既定のプリンターを使用します。
CWinApp::SetHelpMode
アプリケーションのヘルプの種類を設定します。
void SetHelpMode(AFX_HELP_TYPE eHelpType);
パラメーター
eHelpType
使用するヘルプの種類を指定します。 詳細 については、「CWinApp::m_eHelpType 」を参照してください。
注釈
アプリケーションのヘルプの種類を設定します。
アプリケーションのヘルプの種類を HTMLHelp に設定するには、 EnableHTMLHelp を呼び出します。 を呼び出 EnableHTMLHelp
したら、アプリケーションでヘルプ アプリケーションとして HTMLHelp を使用する必要があります。 WinHelp を使用するために を変更する場合は、 SetHelpMode
を呼び出して eHelpType を に設定 できます afxWinHelp
。
CWinApp::SetRegistryKey
アプリケーション設定を INI ファイルではなくレジストリに格納します。
void SetRegistryKey(LPCTSTR lpszRegistryKey);
void SetRegistryKey(UINT nIDRegistryKey);
パラメーター
lpszRegistryKey
キーの名前を含む文字列へのポインター。
nIDRegistryKey
レジストリ キーの名前を含む文字列リソースの ID。
注釈
この関数は、m_pszRegistryKeyを設定GetProfileInt
します。この関数は、 の 、GetProfileString
WriteProfileInt
および メンバー関数によってWriteProfileString
使用されますCWinApp
。 この関数が呼び出された場合、最近使用された (MRU) ファイルの一覧もレジストリに格納されます。 レジストリ キーは通常、会社の名前です。 これは、会社名\アプリケーション名\<<>セクション名\値><HKEY_CURRENT_USER\Software\形式のキーで><格納されます。>
CWinApp::SupportsApplicationRecovery
再起動マネージャーが予期せず終了したアプリケーションを回復するかどうかを決定します。
virtual BOOL SupportsApplicationRecovery() const;
戻り値
TRUE は、再起動マネージャーがアプリケーションを回復します。FALSE は、再起動マネージャーが実行しない場合を示します。
CWinApp::SupportsAutosaveAtInterval
再起動マネージャーが一定の間隔で開いているドキュメントを自動保存するかどうかを決定します。
virtual BOOL SupportsAutosaveAtInterval() const;
戻り値
TRUE は、再起動マネージャーが開いているドキュメントを自動保存します。FALSE は、再起動マネージャーが実行しない場合を示します。
CWinApp::SupportsAutosaveAtRestart
アプリケーションの再起動時に、再起動マネージャーが開いているドキュメントを自動保存するかどうかを決定します。
virtual BOOL SupportsAutosaveAtRestart() const;
戻り値
TRUE は、アプリケーションの再起動時に、再起動マネージャーが開いているドキュメントを自動保存します。FALSE は、再起動マネージャーが実行しない場合を示します。
CWinApp::SupportsRestartManager
アプリケーションが再起動マネージャーをサポートするかどうかを判断します。
virtual BOOL SupportsRestartManager() const;
戻り値
TRUE は、アプリケーションが再起動マネージャーをサポートしています。FALSE は、アプリケーションが実行しないかどうかを示します。
CWinApp::Unregister
アプリケーション オブジェクトによって登録されたファイルの登録を解除します。
virtual BOOL Unregister();
戻り値
正常に完了した場合はゼロ以外、それ以外の場合は 0 です。
注釈
関数 Unregister
は、アプリケーション オブジェクトと Register 関数によって実行された登録を 元に戻 します。 通常、両方の関数は MFC によって暗黙的に呼び出されるため、コードには表示されません。
カスタムの登録解除手順を実行するには、この関数をオーバーライドします。
CWinApp::UnregisterShellFileTypes
このメンバー関数を呼び出して、アプリケーションのすべてのドキュメントの種類の登録をファイル マネージャー Windowsします。
void UnregisterShellFileTypes();
CWinApp::WinHelp
このメンバー関数を呼び出して、WinHelp アプリケーションを呼び出します。
virtual void WinHelp(
DWORD_PTR dwData,
UINT nCmd = HELP_CONTEXT);
パラメーター
dwData
追加のデータを指定します。 使用される値は、 nCmd パラメーターの値によって異 なります。
nCmd
要求されるヘルプの種類を指定します。 使用できる値の一覧と、dwData パラメーターに与える影響の一覧については、WinHelp Windowsしてください。
注釈
フレームワークでは、この関数を呼び出して WinHelp アプリケーションを呼び出します。
フレームワークは、アプリケーションの終了時に WinHelp アプリケーションを自動的に閉じます。
例
// Header File: HELPIDS.H
//
// This example header file is #include'd twice:
// (1) It is #include'd by the .CPP file that passes the DWORD
// context i.d. to CWinApp::WinHelp.
// (2) It is #include'd in the [MAP] section of the .HPJ file,
// to associate the help context string "HID_MYTOPIC" with
// the help context numeric i.d., 101.
// The help context string "HID_MYTOPIC" is what identifies the
// help topic in the help .RTF source file, in the "#" footnote:
// # HID_MYTOPIC
//
// Note, it is not necessary to manage help context id's this way
// for help topics associated with command id's and user interface
// id's defined in your RESOURCE.H file; you should use the MAKEHM
// tool via the custom build rule on your resource.h file to produce
// a help map (.HM) file for these id's. It is necessary to manage
// help context id's as illustrated here only for help topics not
// associated with command id's or user interface id's.
#define HID_MYTOPIC 101
// Show the custom help topic that has the context string
// "HID_MYTOPIC" in the help .RTF file, and which is mapped
// to the DWORD i.d. HID_MYTOPIC in the above HELPIDS.H file.
AfxGetApp()->WinHelp(HID_MYTOPIC);
// The following is one line of code in the help map (.HM)
// file produced by the MAKEHM tool, which is called by the custom
// build rule on the resource.h file. The MAKEHM tool reads the
// following #define in the application's RESOURCE.H file:
#define ID_MYCOMMAND 0x08004
// and adds a help id offset value of 0x10000 to create the
// help context DWORD value 0x18004:
// HID_MYCOMMAND 0x18004
// See MFC Tech Note 28 for more information on help id offset values.
// Rarely will you need to directly call WinHelp yourself
// with the help context i.d. for a command or user interface
// object. The framework will call WinHelp automatically when
// the user, for example, hits F1 when the focus is on a
// My Command menu item. However, if you do want to directly
// call WinHelp for the help topic associated with the command,
// here is how you would do it:
AfxGetApp()->WinHelp(0x10000 + ID_MYCOMMAND);
CWinApp::WriteProfileBinary
アプリケーションのレジストリまたはアプリケーション ファイルの指定したセクションにバイナリ データを書き込むには、このメンバー関数.INIします。
BOOL WriteProfileBinary(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPBYTE pData,
UINT nBytes);
パラメーター
lpszSection
エントリがあるセクションを指定する NULL で終わる文字列へのポインター。 セクションが存在しない場合は、作成されます。 セクションの名前は大文字と小文字が区別されます。文字列には、大文字と小文字の任意の組み合わせを指定できます。
lpszEntry
値を書き込むエントリを含む null 終端文字列をポイントします。 指定したセクションにエントリが存在しない場合は、そのエントリが作成されます。
pData
書き込まれるデータをポイントします。
nBytes
書き込むバイト数を格納します。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
例
この例では、 CWinApp* pApp = AfxGetApp();
を使用して、MFC アプリケーション内の任意の関数から および を使用できる方法を示す CWinApp WriteProfileBinary
GetProfileBinary
クラスを取得します。
CWinApp *pApp = AfxGetApp();
CString strSection = _T("My Section");
CString strItem = _T("My Binary Item");
double myData = 123.456e12;
pApp->WriteProfileBinary(strSection, strItem, (LPBYTE)&myData, sizeof(myData));
double *pData;
UINT n;
pApp->GetProfileBinary(strSection, strItem, (LPBYTE*)&pData, &n);
ASSERT(n == sizeof(myData));
ASSERT(myData = *pData);
delete[] pData; // free the buffer
別の例については、 CWinApp::GetProfileBinary の例を参照してください。
CWinApp::WriteProfileInt
このメンバー関数を呼び出して、指定した値をアプリケーションのレジストリまたはファイルの指定したセクション.INIします。
BOOL WriteProfileInt(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
int nValue);
パラメーター
lpszSection
エントリがあるセクションを指定する NULL で終わる文字列へのポインター。 セクションが存在しない場合は、作成されます。 セクションの名前は大文字と小文字が区別されます。文字列には、大文字と小文字の任意の組み合わせを指定できます。
lpszEntry
値を書き込むエントリを含む null 終端文字列をポイントします。 指定したセクションにエントリが存在しない場合は、そのエントリが作成されます。
nValue
書き込む値を格納します。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
例
この例では、 CWinApp* pApp = AfxGetApp();
を使用して、および を MFC アプリケーション内の任意の関数から使用できる方法を示す CWinApp GetProfileString
WriteProfileString
WriteProfileInt
GetProfileInt
クラスを取得します。
CWinApp *pApp = AfxGetApp();
CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");
pApp->WriteProfileString(strSection, strStringItem, _T("test"));
CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));
pApp->WriteProfileInt(strSection, strIntItem, 1234);
int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);
別の例については、 CWinApp::GetProfileInt の例を参照してください。
CWinApp::WriteProfileString
このメンバー関数を呼び出して、指定した文字列をアプリケーションのレジストリまたはファイルの指定したセクションに.INIします。
BOOL WriteProfileString(
LPCTSTR lpszSection,
LPCTSTR lpszEntry,
LPCTSTR lpszValue);
パラメーター
lpszSection
エントリがあるセクションを指定する NULL で終わる文字列へのポインター。 セクションが存在しない場合は、作成されます。 セクションの名前は大文字と小文字が区別されます。文字列には、大文字と小文字の任意の組み合わせを指定できます。
lpszEntry
値を書き込むエントリを含む null 終端文字列をポイントします。 指定したセクションにエントリが存在しない場合は、そのエントリが作成されます。 このパラメーターが NULL の場合、 lpszSection で指定されたセクション が削除されます。
lpszValue
書き込まれる文字列をポイントします。 このパラメーターが NULL の場合、 lpszEntry パラメーターで指定されたエントリが削除されます。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
例
CWinApp *pApp = AfxGetApp();
CString strSection = _T("My Section");
CString strStringItem = _T("My String Item");
CString strIntItem = _T("My Int Item");
pApp->WriteProfileString(strSection, strStringItem, _T("test"));
CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == _T("test"));
pApp->WriteProfileInt(strSection, strIntItem, 1234);
int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);
別の例については、 CWinApp::GetProfileInt の例を参照してください。
CWinApp::SetAppID
アプリケーションのアプリケーション ユーザー モデル ID を明示的に設定します。 ユーザー インターフェイスがユーザーに提示される前に、このメソッドを呼び出す必要があります (最適な場所はアプリケーション コンストラクターです)。
void SetAppID(LPCTSTR lpcszAppID);
パラメーター
lになるzAppID
アプリケーション ユーザー モデル ID を指定します。