PAGESETUPDLGA 構造体 (commdlg.h)
PageSetupDlg 関数が [ページ設定] ダイアログ ボックスの初期化に使用する情報が含まれます。 ユーザーがダイアログ ボックスを閉じると、この構造体のユーザー定義ページ パラメーターに関する情報が返されます。
構文
typedef struct tagPSDA {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
DWORD Flags;
POINT ptPaperSize;
RECT rtMinMargin;
RECT rtMargin;
HINSTANCE hInstance;
LPARAM lCustData;
LPPAGESETUPHOOK lpfnPageSetupHook;
LPPAGEPAINTHOOK lpfnPagePaintHook;
LPCSTR lpPageSetupTemplateName;
HGLOBAL hPageSetupTemplate;
} PAGESETUPDLGA, *LPPAGESETUPDLGA;
メンバー
lStructSize
型: DWORD
この構造体のサイズ (バイト単位)。
hwndOwner
型: HWND
ダイアログ ボックスを所有するウィンドウへのハンドル。 このメンバーは、任意の有効なウィンドウ ハンドルにすることも、ダイアログ ボックスに所有者がいない場合は NULL にすることもできます。
hDevMode
種類: HGLOBAL
DEVMODE 構造体を含むグローバル メモリ オブジェクトへのハンドル。 入力時にハンドルが指定されている場合は、対応する DEVMODE 構造体の値を使用して、ダイアログ ボックス内のコントロールを初期化します。 出力時に、ダイアログ ボックスは hDevMode をグローバル メモリ ハンドルに設定し、ユーザーの選択を指定する値を含む DEVMODE 構造体に設定します。 ユーザーが選択できない場合、ダイアログ ボックスは hDevMode を NULL に設定します。
hDevNames
種類: HGLOBAL
DEVNAMES 構造体を含むグローバル メモリ オブジェクトへのハンドル。 この構造体には、ドライバー名、プリンター名、および出力ポート名を指定する 3 つの文字列が含まれています。 入力時にハンドルが指定されている場合、対応する DEVNAMES 構造体の文字列を使用して、ダイアログ ボックスでコントロールを初期化します。 出力時に、ダイアログ ボックスは hDevNames をグローバル メモリ ハンドルに設定し、ユーザーの選択を指定する文字列を含む DEVNAMES 構造体に設定します。 ユーザーの選択が使用できない場合、ダイアログ ボックスは hDevNames を NULL に設定します。
Flags
型: DWORD
[ ページ設定] ダイアログ ボックスの初期化に使用できるビット フラグのセット。 ダイアログ ボックスが戻ると、ユーザーの入力を示すようにこれらのフラグが設定されます。 このメンバーには、次の値の 1 つ以上を指定できます。
値 | 意味 |
---|---|
|
ユーザーがページ余白に指定できる最小値を、プリンターで許可される最小余白に設定します。 既定値です。 PSD_MARGINSフラグとPSD_MINMARGINSフラグも指定されている場合、このフラグは無視されます。 |
|
余白コントロールを無効にして、ユーザーが余白を設定できないようにします。 |
|
方向コントロールを無効にして、ユーザーがページの向きを設定できないようにします。 |
|
ダイアログ ボックスでサンプル ページの内容が描画されないようにします。 PagePaintHook フック プロシージャを有効にした場合でも、サンプル ページの内容を描画できます。 |
|
用紙コントロールを無効にして、ユーザーが用紙サイズやソースなどのページ パラメーターを設定できないようにします。 |
|
互換性のために残されています。
Windows XP/2000: [プリンター] ボタンを無効にして、ユーザーが追加のプリンターセットアップ情報を含むダイアログ ボックスを呼び出さないようにします。 |
|
lpfnPagePaintHook メンバーで指定されたフック プロシージャを有効にします。 |
|
lpfnPageSetupHook メンバーで指定されたフック プロシージャを有効にします。 |
|
hInstance メンバーと lpPageSetupTemplateName メンバーが、既定のテンプレートの代わりに使用するダイアログ ボックス テンプレートを指定することを示します。 |
|
hPageSetupTemplate メンバーが、事前に読み込まれたダイアログ ボックス テンプレートを含むデータ ブロックを識別することを示します。 このフラグが指定されている場合、システムは lpPageSetupTemplateName メンバーを無視します。 |
|
100 分の 1 ミリメートルが余白と用紙サイズの単位であることを示します。 rtMargin、rtMinMargin、および ptPaperSize メンバーの値は、100 分の 1 ミリメートル単位です。 入力時にこのフラグを設定して、ユーザーのロケールの既定の測定単位をオーバーライドできます。 関数が戻ると、ダイアログ ボックスは、使用される単位を示すようにこのフラグを設定します。 |
|
1000 分の 1 インチが余白と用紙サイズの単位であることを示します。 rtMargin、rtMinMargin、および ptPaperSize メンバーの値は、1000 分の 1 インチ単位です。 入力時にこのフラグを設定して、ユーザーのロケールの既定の測定単位をオーバーライドできます。 関数が戻ると、ダイアログ ボックスは、使用される単位を示すようにこのフラグを設定します。 |
|
予約済み。 |
|
rtMargin メンバーで指定された値を、左、上、右、および下の余白の初期幅として使用します。 PSD_MARGINSが設定されていない場合、システムはすべての余白に対して初期幅を 1 インチに設定します。 |
|
システムで rtMinMargin メンバーで指定された値を、左、上、右、および下の余白の許容される最小幅として使用します。 システムは、ユーザーが指定された最小値より小さい幅を入力できないようにします。 PSD_MINMARGINSが指定されていない場合、システムは、プリンターで許可される最小の幅を設定します。 |
|
[ネットワーク] ボタンを非表示または無効にします。 |
|
既定のプリンターがない場合に、システムに警告メッセージが表示されないようにします。 |
|
PageSetupDlg では、ダイアログ ボックスは表示されません。 代わりに、システムの既定のプリンター用に初期化された DEVMODE および DEVNAMES 構造体を処理するように hDevNames および hDevMode メンバーを設定します。 PageSetupDlg は、 hDevNames または hDevMode が NULL でない場合にエラーを返します。 |
|
ダイアログ ボックスに [ヘルプ ] ボタンが表示されます。 hwndOwner メンバーは、ユーザーが [ヘルプ] ボタンをクリックしたときにダイアログ ボックスが送信する HELPMSGSTRING 登録済みメッセージを受信するウィンドウを指定する必要があります。 |
ptPaperSize
種類: POINT
ユーザーが選択した用紙の寸法。 PSD_INTHOUSANDTHSOFINCHES または PSD_INHUNDREDTHSOFMILLIMETERS フラグは、測定単位を示します。
rtMinMargin
種類: RECT
左余白、上余白、右余白、および下余白の最小許容幅。 PSD_MINMARGINS フラグが設定されていない場合、システムはこのメンバーを無視します。 これらの値は、 rtMargin メンバーで指定された値以下である必要があります。 PSD_INTHOUSANDTHSOFINCHES または PSD_INHUNDREDTHSOFMILLIMETERS フラグは、測定単位を示します。
rtMargin
種類: RECT
左余白、上余白、右余白、および下余白の幅。 PSD_MARGINS フラグを設定した場合、rtMargin は初期余白の値を指定します。 PageSetupDlg が返されると、rtMargin にはユーザーが選択した余白幅が含まれます。 PSD_INHUNDREDTHSOFMILLIMETERS または PSD_INTHOUSANDTHSOFINCHES フラグは、測定単位を示します。
hInstance
種類: HINSTANCE
PSD_ENABLEPAGESETUPTEMPLATE フラグが Flags メンバーに設定されている場合、hInstance は lpPageSetupTemplateName メンバーによって名前付けされたダイアログ ボックス テンプレートを含むアプリケーションまたはモジュール インスタンスへのハンドルです。
lCustData
型: LPARAM
システムが lpfnPageSetupHook メンバーによって識別されるフック プロシージャに渡すアプリケーション定義データ。 システムが WM_INITDIALOG メッセージをフック プロシージャに送信すると、メッセージの lParam パラメーターは、ダイアログの作成時に指定された PAGESETUPDLG 構造体へのポインターです。 フック プロシージャでは、このポインターを使用して lCustData 値を取得できます。
lpfnPageSetupHook
種類: LPPAGESETUPHOOK
ダイアログ ボックス用のメッセージを処理できる PageSetupHook フック プロシージャへのポインター。 flags メンバーで PSD_ENABLEPAGESETUPHOOK フラグが設定されていない限 り、この メンバーは無視されます。
lpfnPagePaintHook
種類: LPPAGEPAINTHOOK
サンプル ページが再描画されるたびにダイアログ ボックスからWM_PSD_* メッセージを受信する PagePaintHook フック プロシージャへのポインター。 メッセージを処理することで、フック プロシージャはサンプル ページの外観をカスタマイズできます。 flags メンバーで PSD_ENABLEPAGEPAINTHOOK フラグが設定されていない限 り、この メンバーは無視されます。
lpPageSetupTemplateName
型: LPCTSTR
hInstance メンバーによって識別されるモジュール内のダイアログ ボックス テンプレート リソースの名前。 このテンプレートは、標準のダイアログ ボックス テンプレートの代わりに使用されます。 番号付きダイアログ ボックス リソースの場合、 lpPageSetupTemplateName には MAKEINTRESOURCE マクロによって返される値を指定できます。 flags メンバーでPSD_ENABLEPAGESETUPTEMPLATE フラグが設定されていない限り、このメンバーは無視されます。
hPageSetupTemplate
種類: HGLOBAL
PSD_ENABLEPAGESETUPTEMPLATEHANDLE フラグが Flags メンバーで設定されている場合、hPageSetupTemplate はダイアログ ボックス テンプレートを含むメモリ オブジェクトへのハンドルです。
注釈
PSD_INHUNDREDTHSOFMILLIMETERSフラグとPSD_INTHOUSANDTHSOFINCHESフラグが指定されていない場合、システムは既定のユーザー ロケールのLOCALE_IMEASURE値を照会して、余白の幅と用紙サイズの測定単位 (100 分の 1 ミリメートルまたは 1000 分の 1 インチ) を決定します。
hDevNames と hDevMode の両方に有効なハンドルがあり、DEVNAMES 構造体の wDeviceOffset メンバーで指定されたプリンター名が DEVMODE 構造体の dmDeviceName メンバーによって指定された名前と同じでない場合、システムは既定で wDeviceOffset で指定された名前を使用します。
注意
commdlg.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして PAGESETUPDLG を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | commdlg.h (Windows.h を含む) |
こちらもご覧ください
概念
その他のリソース
リファレンス