CDocument::OnOpenDocument

仮想 BOOL OnOpenDocument ( LPCTSTR lpszPathName );

戻り値

ドキュメントが正常に読み込まれましたそうでなければ 0。

パラメーター

lpszPathName

開くドキュメントのパスを指す。

解説

ファイルを開くコマンドの一部として、フレームワークによって呼び出されます。この関数の既定の実装は、指定したファイルを開き、ドキュメントが空で、ファイルの内容を読むことで cobject::serializeを呼び出し、クリーンとしてドキュメントをマークことを確認するには、 DeleteContentsメンバー関数を呼び出します。何か以外のアーカイブ機構やファイル機構を使用する場合は、この関数をオーバーライドします。たとえば、あなたがドキュメントの個別のファイルではなく、データベース内のレコードを表すアプリケーション記述。

SDI アプリケーションで、ファイルを開くコマンドを選択した場合は、フレームワークはこの関数を使用して新しいものを作成するのではなく、既存のCDocumentオブジェクトを再初期化します。ユーザー ファイルを開く、MDI アプリケーションの場合、フレームワーク、新しいCDocumentオブジェクトを構築し、それを初期化するには、この関数を呼び出します。この関数ではなく SDI アプリケーションでは、ファイルを開くコマンドのコンス トラクターで初期化コードを配置する必要があります。

//代替メソッドの次の例を示します//ドキュメント オブジェクトを初期化します。//方法 1: MDI アプリケーションでは、するが最も簡単・初期化はドキュメント constructor.nbsp で;フレームワーク ・ ・ ファイルまたはファイルを開くは常に新しいドキュメント オブジェクトを作成します。CMyDoc::CMyDoc(){//ここの MDI ドキュメントの初期化を行います。// ...}//方法 2: SDI または MDI アプリケーションでは、すべての初期化を行う//がある場合の OnNewDocument のオーバーライド//ファイルの保存時に、初期化を効果的に保存//とシリアル経由でファイルを開くに完全に復元されました。BOOL CMyDoc::OnNewDocument(){if (!。CDocument::OnNewDocument(&))FALSE を返す;//ここに新しい文書の初期化を行います。TRUE を返す;}//方法 3: 文書の初期化ではない場合//効果的に保存、シリアル化中にファイルを保存して復元//とファイルを開く)、初期化を単一の実装・機能 (この例では InitMyDocument をという名前)。呼び出す、//両方のオーバーライドから初期化関数を共有//OnNewDocument と OnOpenDocument。BOOL CMyDoc::OnNewDocument(){if (!。CDocument::OnNewDocument())FALSE を返す;InitMyDocument();//あなたの共有初期化関数を呼び出す・新しいドキュメント オブジェクトに追加の初期化が必要な場合・ ・必要のないドキュメントがファイルを開く] で、逆シリアル化//ここでは、追加の初期化を実行します。TRUE を返す;}

CDocument 概要|nbsp;クラス メンバー |階層図(&N)

参照特価;CDocument::DeleteContentsCDocument::OnCloseDocumentCDocument::OnNewDocumentCDocument::OnSaveDocumentCDocument::ReportSaveLoadExceptionで cobject::serialize(&N)

Index