0

MFC について (ばかげているかもしれませんが) 質問があります。SDI アプリケーションは複数のドキュメントタイプをサポートできますか? (新しいドキュメントを作成するときに「ドキュメントの選択」ダイアログを表示することに加えて、それは絶対に必要というわけではなく、自分で処理できます。)私がやりたいのは、アプリを最新のオフィスプログラムのように動作させることです。 (ある種の) 他の開いているドキュメントと共通のスペースを共有するのではなく、アプリケーションの独自のインスタンスに常駐します (MDI の概念)。

SDI がそのような機能を提供できない場合 (私の最近の実験で示唆されています)、アプリケーションの新しいインスタンスでファイルを開くために MDI で「open」コマンドを処理する方法を教えてもらえますか? (同じことが「new」コマンドにも当てはまります。)

4

2 に答える 2

1

MFC では、このアプリケーションの種類を "複数の最上位ドキュメント" と呼び、MFC アプリ ウィザードで選択できます。

MFC アプリ ウィザード

于 2015-11-19T14:32:58.173 に答える
0

CWinApp::AddDocTemplateを使用してドキュメント tamplates を追加するだけで済みます 。msdn リンクでは の例のみが提供されているため、Visual Studio で新しいプロジェクトを作成するときに生成されるCMultiDocTemplateの例をここに含めました。CSingleDocTemplate

// Register the application's document templates.  Document templates
//  serve as the connection between documents, frame windows and views
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
    IDR_MAINFRAME,
    RUNTIME_CLASS(CSDITestDoc),
    RUNTIME_CLASS(CMainFrame),       // main SDI frame window
    RUNTIME_CLASS(CSDITestView));
if (!pDocTemplate)
    return FALSE;
AddDocTemplate(pDocTemplate);
于 2015-11-19T09:34:12.477 に答える