PRINTDLGW 構造体 (commdlg.h)
PrintDlg 関数が 印刷ダイアログ ボックスを初期化するために使用する情報を格納します。 ユーザーがダイアログ ボックスを閉じると、システムはこの構造体を使用して、ユーザーの選択に関する情報を返します。
構文
typedef struct tagPDW {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Flags;
WORD nFromPage;
WORD nToPage;
WORD nMinPage;
WORD nMaxPage;
WORD nCopies;
HINSTANCE hInstance;
LPARAM lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
LPCWSTR lpPrintTemplateName;
LPCWSTR lpSetupTemplateName;
HGLOBAL hPrintTemplate;
HGLOBAL hSetupTemplate;
} PRINTDLGW, *LPPRINTDLGW;
メンバーズ
lStructSize
型: DWORD
構造体のサイズ (バイト単位)。
hwndOwner
型: HWND
ダイアログ ボックスを所有するウィンドウへのハンドル。 このメンバーは、任意の有効なウィンドウ ハンドルにすることも、ダイアログ ボックスに所有者が存在しない場合は NULL
hDevMode
型: HGLOBAL
DEVMODE 構造体を含む移動可能なグローバル メモリ オブジェクトへのハンドル。 入力
指定したプリンターのデバイス ドライバーが拡張デバイス モードをサポートしていない場合は、printDlg
デバイス名 (DEVMODE 構造体の dmDeviceName メンバーで指定) が WIN の [devices] セクションに表示されない場合。INI、PrintDlg はエラーを返します。
hDevMode および hDevNames メンバー
hDevNames
型: HGLOBAL
DEVNAMES 構造体を含む移動可能なグローバル メモリ オブジェクトへのハンドル。
hDevMode および hDevNames メンバー
hDC
型: HDC
Flags メンバーが PD_RETURNDC または PC_RETURNIC フラグを指定するかどうかに応じて、デバイス コンテキストまたは情報コンテキストへのハンドル。 どちらのフラグも指定しない場合、このメンバーの値は未定義です。 両方のフラグが指定されている場合は、PD_RETURNDC が優先されます。
Flags
型: DWORD
[印刷] ダイアログ ボックスを初期化します。 ダイアログ ボックスが戻ると、ユーザーの入力を示すようにこれらのフラグが設定されます。 このメンバーには、次の値のうち 1 つ以上を指定できます。
価値 | 意味 |
---|---|
|
[すべての] ラジオ ボタンが最初に選択されていることを示す既定のフラグ。 このフラグは、PD_PAGENUMS フラグと PD_SELECTION フラグが指定されていないことを示すプレースホルダーとして使用されます。 |
|
このフラグを設定すると、[ の照合] チェック ボックスがオンになります。
PrintDlg 関数が戻るときにこのフラグを設定する場合、アプリケーションは複数のコピーの照合順序をシミュレートする必要があります。 詳細については、PD_USEDEVMODECOPIESANDCOLLATE フラグの説明を参照してください。 PD_NOPAGENUMSを参照してください。 |
|
[ファイルへの印刷] チェック ボックスを無効にします。 |
|
lpfnPrintHook メンバーで指定されたフック プロシージャを有効にします。 これにより、[印刷] ダイアログ ボックスのフック プロシージャが有効になります。 |
|
メンバー hInstance と lpPrintTemplateName メンバーが、既定の Print ダイアログ ボックス テンプレートの置き換えを指定することを示します。 |
|
hPrintTemplate メンバーが、プリロードされたダイアログ ボックス テンプレートを含むデータ ブロックを識別することを示します。 このテンプレートは、[印刷] ダイアログ ボックスの既定のテンプレートを置き換えます。 このフラグが指定されている場合、システムは lpPrintTemplateName メンバーを無視します。 |
|
lpfnSetupHook メンバーで指定されたフック プロシージャを有効にします。 これにより、印刷設定 ダイアログ ボックスのフックプロシージャが有効になります。 |
|
|
|
hSetupTemplate メンバーが、プリロードされたダイアログ ボックス テンプレートを含むデータ ブロックを識別することを示します。 このテンプレートは、[印刷設定] ダイアログ ボックスの既定のテンプレートを置き換えます。 このフラグが指定されている場合、システムは lpSetupTemplateName メンバーを無視します。 |
|
[ファイル に印刷] チェック ボックス |
|
[ネットワーク] ボタンを非表示または無効にします。 |
|
Pages ラジオ ボタンと関連する編集コントロールを無効にします。 また、[の照合]チェック ボックス ダイアログボックスに表示されます。 |
|
選択 ラジオ ボタンを無効にします。 |
|
既定のプリンターがない場合に警告メッセージが表示されないようにします。 |
|
このフラグを設定すると、ページ オプション ボタンが選択されます。 PrintDlg 関数が戻るときにこのフラグを設定すると、nFromPage および nToPage メンバーは、ユーザーによって指定された開始ページと終了ページを示します。 |
|
[印刷] ダイアログ ボックスではなく、[印刷設定] ダイアログ ボックスが表示されます。 |
|
このフラグを設定すると、[ファイルに印刷] チェック ボックスがオンになります。 PrintDlg 関数が戻るときにこのフラグを設定すると、DEVNAMES 構造体の wOutputOffset メンバーによって示されるオフセットには、文字列 "FILE:" が含まれます。 StartDoc 関数を呼び出して印刷操作を開始する場合は、DOCINFO 構造体の lpszOutput メンバーにこの "FILE:" 文字列を指定します。 この文字列を指定すると、印刷サブシステムはユーザーに対して出力ファイルの名前を照会します。 |
|
PrintDlg |
|
このフラグを設定すると、PrintDlg 関数はダイアログ ボックスを表示しません。 代わりに、 |
|
PD_RETURNDC フラグと同様に、このフラグを除き、デバイス コンテキストではなく情報コンテキストが返されます。 PD_RETURNDC も PD_RETURNIC も指定されていない場合、hDC は出力時に未定義になります。 |
|
このフラグを設定すると、選択 オプション ボタンが選択されます。 |
|
ダイアログ ボックスに ヘルプ ボタンが表示されます。 |
|
PD_USEDEVMODECOPIESANDCOLLATEと同じです。 |
|
このフラグは、アプリケーションが複数のコピーと照合順序をサポートしているかどうかを示します。 入力時にこのフラグを設定して、アプリケーションが複数のコピーと照合順序をサポートしていないことを示します。 この場合、PRINTDLG 構造体の nCopies メンバーは常に 1 を返し、PD_COLLATE は Flags メンバーに設定されません。
このフラグが設定されていない場合、アプリケーションは複数のコピーの印刷と照合を行います。 この場合、PRINTDLG 構造体の nCopies メンバーは、ユーザーが印刷するコピーの数を示し、Flags メンバーの PD_COLLATE フラグは、ユーザーが照合順序を使用するかどうかを示します。 このフラグが設定されているかどうかに関係なく、アプリケーションは nCopies から判断し、レンダリングするコピーの数と、それらを照合して印刷するかどうかを PD_COLLATE できます。 このフラグが設定されていて、プリンター ドライバーが複数のコピーをサポートしていない場合、コピー 編集コントロールは無効になります。 同様に、このフラグが設定されていて、プリンター ドライバーが照合順序をサポートしていない場合は、[照合順序] チェック ボックスは無効になります。 dmCopies および dmCollateDEVMODE 構造体のメンバーには、プリンター ドライバーで使用されるコピーと照合情報が含まれています。 このフラグが設定されていて、プリンター ドライバーが複数のコピーをサポートしている場合、dmCopies メンバーは、ユーザーが要求したコピーの数を示します。 このフラグが設定されていて、プリンター ドライバーが照合順序をサポートしている場合、DEVMODE 構造体の dmCollate メンバーは、ユーザーが照合順序を使用するかどうかを示します。 このフラグが設定されていない場合、dmCopies メンバーは常に 1 を返し、dmCollate メンバーは常に 0 になります。 |
PrintDlg または
PrintDlg または printDlgEx
Windows Vista および Windows 7 で、
GDI の呼び出しを行うときは、nCopiesの値を無視し、値を 1 と見なし、返された hDC を使用して重複コピーを印刷しないようにする必要があります。
nFromPage
型: word
開始ページ編集コントロールの初期値。
PrintDlg
nFromPage または nToPage の入力値が最小/最大範囲外の場合、PrintDlg は、PD_PAGENUMS フラグが指定されている場合にのみエラーを返します。それ以外の場合は、ダイアログ ボックスが表示されますが、範囲外の値が最小値または最大値に変更されます。
nToPage
型: word
終了ページ編集コントロールの初期値。 PrintDlg
nMinPage
型: word
From および To ページ編集コントロールで指定されたページ範囲の最小値。 nMinPage
nMaxPage
型: word
From および To ページ編集コントロールで指定されたページ範囲の最大値。
nCopies
型: word
hDevMode が NULL
hInstance
型: HINSTANCE
lCustData
型: LPARAM
lpfnPrintHook
型: LPPRINTHOOKPROC
PrintHookProc フック プロシージャへのポインター。印刷] ダイアログ ボックス用のメッセージを処理できます。 Flags メンバーで PD_ENABLEPRINTHOOK フラグが設定されていない限り、このメンバーは無視されます。
lpfnSetupHook
型: LPSETUPHOOKPROC
SetupHookProc フック プロシージャへのポインター。このプロシージャは、印刷セットアップ ダイアログ ボックスを対象としたメッセージを処理できます。 Flags メンバーで PD_ENABLESETUPHOOK フラグが設定されていない限り、このメンバーは無視されます。
lpPrintTemplateName
型: LPCTSTR
hInstance メンバーによって識別されるモジュール内のダイアログ ボックス テンプレート リソースの名前。 このテンプレートは、既定の [印刷] ダイアログ ボックス テンプレート
lpSetupTemplateName
型: LPCTSTR
hInstance メンバーによって識別されるモジュール内のダイアログ ボックス テンプレート リソースの名前。 このテンプレートは、既定の 印刷設定 ダイアログ ボックス テンプレートに置き換えられます。 Flags メンバーで PD_ENABLESETUPTEMPLATE フラグが設定されていない限り、このメンバーは無視されます。
hPrintTemplate
型: HGLOBAL
hSetupTemplate
型: HGLOBAL
備考
hDevMode と
DEVMODE 構造体の dmDeviceName メンバーもプリンター名を指定します。 ただし、dmDeviceName
手記
commdlg.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして PRINTDLG を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー | commdlg.h (Windows.h を含む) |
関連項目
概念
DEVMODE の
リファレンス