CPrintDialogEx クラス

Windows Print プロパティ シートによって提供されるサービスをカプセル化します。

構文

class CPrintDialogEx : public CCommonDialog

メンバー

パブリック コンストラクター

名前 説明
CPrintDialogEx::CPrintDialogEx CPrintDialogEx オブジェクトを構築します。

パブリック メソッド

名前 説明
CPrintDialogEx::CreatePrinterDC [印刷] ダイアログ ボックスを表示せずに、プリンター デバイス コンテキストを作成します。
CPrintDialogEx::D oModal ダイアログ ボックスを表示し、ユーザーが選択できるようにします。
CPrintDialogEx::GetCopies 要求されたコピーの数を取得します。
CPrintDialogEx::GetDefaults ダイアログ ボックスを表示せずに、デバイスの既定値を取得します。
CPrintDialogEx::GetDeviceName 現在選択されているプリンター デバイスの名前を取得します。
CPrintDialogEx::GetDevMode 構造体を取得します DEVMODE
CPrintDialogEx::GetDriverName システム定義プリンター デバイス ドライバーの名前を取得します。
CPrintDialogEx::GetPortName 現在選択されているプリンター ポートの名前を取得します。
CPrintDialogEx::GetPrinterDC プリンター デバイス コンテキストへのハンドルを取得します。
CPrintDialogEx::P rintAll 文書のすべてのページを印刷するかどうかを指定します。
CPrintDialogEx::P rintCollate 照合されたコピーを要求するかどうかを決定します。
CPrintDialogEx::P rintCurrentPage 文書の現在のページを印刷するかどうかを決定します。
CPrintDialogEx::P rintRange 指定した範囲のページのみを印刷するかどうかを決定します。
CPrintDialogEx::P rintSelection 現在選択されている項目のみを印刷するかどうかを指定します。

パブリック データ メンバー

名前 説明
CPrintDialogEx::m_pdex オブジェクトをカスタマイズするために使用される CPrintDialogEx 構造体。

解説

フレームワークに依存して、アプリケーションの印刷プロセスのさまざまな側面を処理できます。 フレームワークを使用して印刷タスクを処理する方法の詳細については、印刷に関する記事を参照してください。

フレームワークが関与せずにアプリケーションで印刷を処理する場合は、指定されたコンストラクターで "そのまま" クラスを使用 CPrintDialogEx するか、独自のダイアログ クラス CPrintDialogEx を派生させ、ニーズに合わせてコンストラクターを記述することができます。 どちらの場合も、これらのダイアログ ボックスはクラス CCommonDialogから派生しているため、標準の MFC ダイアログ ボックスと同様に動作します。

オブジェクトを CPrintDialogEx 使用するには、まずコンストラクターを使用してオブジェクトを CPrintDialogEx 作成します。 ダイアログ ボックスが作成されたら、ダイアログ ボックスのコントロールの値を初期化するために、m_pdex構造体内の任意の値を設定または変更できます。 構造は m_pdex PRINTDLGEX 型 です。 この構造の詳細については、Windows SDK を参照してください。

独自のm_pdexhDevModeハンドルをメンバーにhDevNames指定しない場合は、ダイアログ ボックスが完了したら、これらのハンドルに対して Windows 関数GlobalFreeを呼び出してください。

ダイアログ ボックス コントロールを初期化した後、メンバー関数を DoModal 呼び出してダイアログ ボックスを表示し、ユーザーが印刷オプションを選択できるようにします。 戻ったときに DoModal 、ユーザーが [OK]、[適用]、または [キャンセル] ボタンを選択したかどうかを確認できます。

ユーザーが [OK] を押した場合は、's メンバー関数を使用 CPrintDialogExして、ユーザーが入力した情報を取得できます。

この CPrintDialogEx::GetDefaults メンバー関数は、ダイアログ ボックスを表示せずに、現在のプリンターの既定値を取得する場合に便利です。 この方法では、ユーザーの操作は必要ありません。

Windows CommDlgExtendedError 関数を使用すると、ダイアログ ボックスの初期化中にエラーが発生したかどうかを確認したり、エラーの詳細を確認したりできます。 この関数の詳細については、Windows SDK を参照してください。

使用CPrintDialogExの詳細については、「共通ダイアログ クラス」を参照してください

継承階層

CObject

CCmdTarget

CWnd

Cdialog

IObjectWithSite

IPrintDialogCallback

CCommonDialog

CPrintDialogEx

必要条件

ヘッダー: afxdlgs.h

CPrintDialogEx::CPrintDialogEx

Windows Print プロパティ シートを作成します。

CPrintDialogEx(
    DWORD dwFlags = PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS       | PD_HIDEPRINTTOFILE | PD_NOSELECTION | PD_NOCURRENTPAGE,
    CWnd* pParentWnd = NULL);

パラメーター

dwFlags
ビットごとの OR 演算子を使用して、ダイアログ ボックスの設定をカスタマイズするために使用できる 1 つ以上のフラグ。 たとえば、PD_ALLPAGES フラグは、文書のすべてのページに既定の印刷範囲を設定します。 これらのフラグの 詳細については、Windows SDK の PRINTDLGEX 構造体を参照してください。

pParentWnd
ダイアログ ボックスの親ウィンドウまたは所有者ウィンドウへのポインター。

解説

このメンバー関数は、オブジェクトのみを構築します。 ダイアログ ボックスを DoModal 表示するには、メンバー関数を使用します。

CPrintDialogEx::CreatePrinterDC

DEVMODE 構造体と DEVNAMES 構造体からプリンター デバイス コンテキスト (DC) を作成します。

HDC CreatePrinterDC();

戻り値

新しく作成されたプリンター デバイス コンテキストを処理します。

解説

返された DC は、m_pdexhDCメンバーにも格納されます。

この DC は現在のプリンター DC と見なされ、以前に取得した他のプリンター DC は削除する必要があります。 この関数を呼び出し、結果の DC を使用することができます。印刷ダイアログ ボックスは表示しません。

CPrintDialogEx::D oModal

この関数を呼び出して、Windows Print プロパティ シートを表示し、ユーザーがコピー数、ページ範囲、コピーを照合するかどうかなど、さまざまな印刷オプションを選択できるようにします。

virtual INT_PTR DoModal();

戻り値

INT_PTR戻り値は実際には HRESULT です。 Windows SDK の PrintDlgEx「戻り値」セクションを参照してください。

解説

構造体のメンバーを設定して、さまざまな印刷ダイアログ オプションを m_pdex 初期化する場合は、呼び出す DoModal前に、ダイアログ オブジェクトが構築された後にこれを行う必要があります。

呼び出した DoModal後、他のメンバー関数を呼び出して、ユーザーがダイアログ ボックスに入力した設定または情報を取得できます。

PD_RETURNDC フラグを呼び出DoModalすときに使用すると、m_pdexのメンバーでhDCプリンター DC が返されます。 この DC は、呼び出し元CPrintDialogExが DeleteDC呼び出して解放する必要があります。

CPrintDialogEx::GetCopies

呼び出し後にこの関数を呼び出 DoModal して、要求されたコピーの数を取得します。

int GetCopies() const;

戻り値

要求されたコピーの数。

CPrintDialogEx::GetDefaults

この関数を呼び出して、ダイアログ ボックスを表示せずに既定のプリンターのデバイスの既定値を取得します。

BOOL GetDefaults();

戻り値

成功した場合は TRUE、それ以外の場合は FAL Standard Edition。

解説

DEVMODE 構造体と DEVNAMES 構造体からプリンター デバイス コンテキスト (DC) を作成します。

GetDefaults では、Print プロパティ シートは表示されません。 代わりに、システムの既定のプリンター用に初期化された DEVMODE 構造体と hDevMode DEVNAMES 構造体を処理するように、m_pdexのメンバーとメンバーを設定hDevNamesします。 両方 hDevNames とも hDevMode NULL であるか、失敗 GetDefaults する必要があります。

PD_RETURNDC フラグが設定されている場合、この関数は呼び出し元に戻る hDevNames だけでなく 、呼び出し hDevMode 元に (配置 m_pdex.hDevNames されている m_pdex.hDevMode) だけでなく、プリンター DC m_pdex.hDCも返します。 オブジェクトの操作が完了したら、呼び出し元がプリンター DC を削除し、ハンドルで Windows GlobalFree 関数を CPrintDialogEx 呼び出す必要があります。

CPrintDialogEx::GetDeviceName

DoModal を呼び出して現在選択されているプリンターの名前を取得した後、または GetDefaults を呼び出して既定のプリンターの名前を取得した後に、この関数を呼び出します。

CString GetDeviceName() const;

戻り値

現在選択されているプリンターの名前。

解説

CDC::CreateDC のCString呼び出しで返されるGetDeviceNameオブジェクトへのポインターをlpszDeviceNameとして使用します

CPrintDialogEx::GetDevMode

DoModal または GetDefaults を呼び出して印刷デバイスに関する情報を取得した後、この関数を呼び出します。

LPDEVMODE GetDevMode() const;

戻り値

DEVMODE データ構造。印刷ドライバーのデバイスの初期化と環境に関する情報が含まれます。 Windows SDK で説明されている Windows GlobalUnlock 関数を使用して、この構造体によって取得されたメモリのロックを解除する必要があります。

CPrintDialogEx::GetDriverName

DoModal または GetDefaults を呼び出してシステム定義プリンター デバイス ドライバーの名前を取得した後、この関数を呼び出します。

CString GetDriverName() const;

戻り値

CStringシステム定義ドライバー名を指定します。

解説

CDC::CreateDC のCString呼び出しで lpszDriverName値として返されるGetDriverNameオブジェクトへのポインターを使用します

CPrintDialogEx::GetPortName

DoModal または GetDefaults を呼び出して現在選択されているプリンター ポートの名前を取得した後、この関数を呼び出します。

CString GetPortName() const;

戻り値

現在選択されているプリンター ポートの名前。

CPrintDialogEx::GetPrinterDC

プリンター デバイス コンテキストへのハンドルを返します。

HDC GetPrinterDC() const;

戻り値

プリンター デバイス コンテキストへのハンドル。

解説

デバイス コンテキストの使用が完了したら、Windows DeleteDC 関数を呼び出してデバイス コンテキストを削除する必要があります。

CPrintDialogEx::m_pdex

ダイアログ オブジェクトの特性を格納するメンバーを持つ PRINTDLGEX 構造体。

PRINTDLGEX m_pdex;

解説

オブジェクトをCPrintDialogEx構築した後、DoModal メンバー関数を呼び出す前に、ダイアログ ボックスのさまざまな側面を設定するために使用m_pdexできます。 構造のm_pdex詳細については、Windows SDK の PRINTDLGEX を参照してください

データ メンバーを m_pdex 直接変更する場合は、既定の動作をオーバーライドします。

CPrintDialogEx::P rintAll

この関数は、文書内のすべてのページを印刷するかどうかを決定する呼び出しの後に呼び出 DoModal します。

BOOL PrintAll() const;

戻り値

文書内のすべてのページを印刷する場合は TRUE。それ以外の場合は FAL Standard Edition。

CPrintDialogEx::P rintCollate

この関数は、プリンターが文書のすべての印刷コピーを照合する必要があるかどうかを判断するために呼び出した後に呼び出 DoModal します。

BOOL PrintCollate() const;

戻り値

ユーザーがダイアログ ボックスで照合チェック ボックスを選択した場合は TRUE、それ以外の場合は FAL Standard Edition。

CPrintDialogEx::P rintCurrentPage

呼び出し後にこの関数を呼び出 DoModal して、ドキュメント内の現在のページを印刷するかどうかを判断します。

BOOL PrintCurrentPage() const;

戻り値

印刷ダイアログで [現在のページを印刷] が選択されている場合は TRUE、それ以外の場合は FAL Standard Edition。

CPrintDialogEx::P rintRange

この関数は、文書内のページの範囲のみを印刷するかどうかを判断する呼び出し後に呼び出 DoModal します。

BOOL PrintRange() const;

戻り値

文書内のページの範囲のみを印刷する場合は TRUE。それ以外の場合は FAL Standard Edition。

解説

指定したページ範囲は、m_pdexから決定できます (Windows SDK の PRINTDLGEX 構造体を参照)。nPageRangesnMaxPageRangeslpPageRanges

CPrintDialogEx::P rintSelection

現在選択されている項目のみを印刷するかどうかを判断するには、呼び出し後にこの関数を呼び出 DoModal します。

BOOL PrintSelection() const;

戻り値

選択した項目のみを印刷する場合は TRUE。それ以外の場合は FAL Standard Edition。

関連項目

CCommonDialog クラス
階層図
CPrintInfo 構造体