次の方法で共有


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 オブジェクトをカスタマイズするために使用される構造体。

解説

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

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

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

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

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

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

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

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

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

継承階層

CObject

CCmdTarget

CWnd

CDialog

IObjectWithSite

IPrintDialogCallback

CCommonDialog

CPrintDialogEx

要件

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

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

CPrintDialogEx::GetCopies

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

int GetCopies() const;

戻り値

要求されたコピーの数。

CPrintDialogEx::GetDefaults

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

BOOL GetDefaults();

戻り値

成功した場合は TRUE、それ以外の場合は FALSE。

解説

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

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

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

CPrintDialogEx::GetDeviceName

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

CString GetDeviceName() const;

戻り値

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

解説

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

CPrintDialogEx::GetDevMode

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

LPDEVMODE GetDevMode() const;

戻り値

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

CPrintDialogEx::GetDriverName

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

CString GetDriverName() const;

戻り値

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

解説

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

CPrintDialogEx::GetPortName

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

CString GetPortName() const;

戻り値

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

CPrintDialogEx::GetPrinterDC

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

HDC GetPrinterDC() const;

戻り値

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

解説

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

CPrintDialogEx::m_pdex

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

PRINTDLGEX m_pdex;

解説

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

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

CPrintDialogEx::P rintAll

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

BOOL PrintAll() const;

戻り値

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

CPrintDialogEx::P rintCollate

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

BOOL PrintCollate() const;

戻り値

ユーザーがダイアログ ボックスで照合チェック ボックスをオンにした場合は TRUE。それ以外の場合は FALSE。

CPrintDialogEx::P rintCurrentPage

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

BOOL PrintCurrentPage() const;

戻り値

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

CPrintDialogEx::P rintRange

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

BOOL PrintRange() const;

戻り値

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

解説

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

CPrintDialogEx::P rintSelection

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

BOOL PrintSelection() const;

戻り値

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

関連項目

CCommonDialog クラス
階層図
CPrintInfo 構造体