次の方法で共有


CDocTemplate::MatchDocType

更新 : 2007 年 11 月

ドキュメントの型とテンプレート間で、一致の信頼度を調べます。

virtual Confidence MatchDocType(
   LPCTSTR lpszPathName,
   CDocument*& rpDocMatch 
);

パラメータ

  • lpszPathName
    調べる型を持つファイルのパス名。

  • rpDocMatch
    lpszPathName で指定されるファイルが既に開いている場合は、一致するドキュメントに割り当てられたドキュメントへのポインタ。

戻り値

次に定義される Confidence 列挙値を返します。

enum Confidence

{

noAttempt,

maybeAttemptForeign,

maybeAttemptNative,

yesAttemptForeign,

yesAttemptNative,

yesAlreadyOpen

};

解説

ファイルを開くのに使うドキュメント テンプレートの型を調べます。たとえば、アプリケーションが複数の型のファイルをサポートするときは、各テンプレートに対して順番に MatchDocType を呼び出すことにより、指定されたファイルに対応するドキュメント テンプレートで利用できるものを調べます。その後関数が返す信頼度値によってテンプレートを選択します。

lpszPathName で指定されたファイルが既に開かれているときは、この関数は CDocTemplate::yesAlreadyOpen を返し、ファイルの CDocument オブジェクトを rpDocMatch のオブジェクトにコピーします。

ファイルが開かれていなくて、lpszPathName で指定されている拡張子が CDocTemplate::filterExt で指定された拡張子と一致するときは、CDocTemplate::yesAttemptNative を返し、rpDocMatch に NULL を設定します。CDocTemplate::filterExt の詳細については、「CDocTemplate::GetDocString」を参照してください。

上記のどちらにも当てはまらないときは、CDocTemplate::yesAttemptForeign を返します。

既定の実装では、CDocTemplate::maybeAttemptForeign または CDocTemplate::maybeAttemptNative は返しません。これらの 2 つの Confidence 列挙値も使うと、この関数をオーバーライドすることで、アプリケーションに適切な型一致ロジックを実装できます。

必要条件

ヘッダー : afxwin.h

参照

参照

CDocTemplate クラス

階層図

CDocTemplate::GetDocString

その他の技術情報

CDocTemplate のメンバ