CDC::StartDoc 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于开始一个打印文档的操作。这个方法用于通知打印机启动一个新文档的打印任务。

方法原型如下:
virtual int StartDoc(
   const CString& strDocName 
);

参数 strDocName 是要打印的文档的名称,它将显示在打印对话框中。

返回值表示操作的结果,通常为非负数表示成功,负数表示失败。返回值是一个由 GDI 打印系统定义的文档标识符。

以下是一个简单的例子,演示如何使用 StartDoc 方法:
CPrintDialog printDlg(FALSE);
if (printDlg.DoModal() == IDOK) {
    CDC dc;
    dc.Attach(printDlg.GetPrinterDC());

    DOCINFO docInfo;
    memset(&docInfo, 0, sizeof(DOCINFO));
    docInfo.cbSize = sizeof(DOCINFO);
    docInfo.lpszDocName = _T("MyPrintDocument");

    int result = dc.StartDoc(docInfo);
    if (result > 0) {
        // 在文档中进行绘制操作

        // 结束文档
        dc.EndDoc();
    } else {
        // 打印文档启动失败
    }

    dc.Detach();
}

在这个例子中,首先使用 CPrintDialog 获取打印机设备上下文,然后调用 StartDoc 方法开始一个新文档的打印任务。接着在文档中进行绘制操作,最后通过 EndDoc 方法结束文档。需要注意的是,使用 Attach 方法将打印机设备上下文关联到 CDC 对象,使用 Detach 方法解除关联。


转载请注明出处:http://www.zyzy.cn/article/detail/17032/MFC/CDC