다음을 통해 공유


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 구조체를 포함하는 전역 메모리 개체에 대한 핸들입니다. 이 구조체에는 드라이버 이름, 프린터 이름 및 출력 포트 이름을 지정하는 세 개의 문자열이 포함됩니다. 입력 시 핸들이 지정된 경우 해당 DEVNAMES 구조체의 문자열을 사용하여 대화 상자에서 컨트롤을 초기화합니다. 출력 시 대화 상자는 hDevNames 전역 메모리 핸들로 설정하여 사용자의 선택을 지정하는 문자열이 포함된 DEVNAMES 구조체로 설정합니다. 사용자의 선택을 사용할 수 없는 경우 대화 상자는 hDevNames NULL설정합니다.

Flags

형식: DWORD

페이지 설정 대화 상자를 초기화하는 데 사용할 수 있는 비트 플래그 집합입니다. 대화 상자가 반환되면 이러한 플래그를 설정하여 사용자의 입력을 나타냅니다. 이 멤버는 다음 값 중 하나 이상일 수 있습니다.

의미
PSD_DEFAULTMINMARGINS
0x00000000
페이지 여백에 대해 사용자가 지정할 수 있는 최소값을 프린터에서 허용하는 최소 여백으로 설정합니다. 기본값입니다. PSD_MARGINSPSD_MINMARGINS 플래그도 지정된 경우 이 플래그는 무시됩니다.
PSD_DISABLEMARGINS
0x00000010
여백 컨트롤을 사용하지 않도록 설정하여 사용자가 여백을 설정하지 못하도록 합니다.
PSD_DISABLEORIENTATION
0x00000100
방향 컨트롤을 사용하지 않도록 설정하여 사용자가 페이지 방향을 설정하지 못하도록 합니다.
PSD_DISABLEPAGEPAINTING
0x00080000
대화 상자가 샘플 페이지의 내용을 그리는 것을 방지합니다. PagePaintHook 후크 프로시저를 사용하도록 설정하는 경우에도 샘플 페이지의 내용을 그릴 수 있습니다.
PSD_DISABLEPAPER
0x00000200
용지 컨트롤을 사용하지 않도록 설정하여 사용자가 용지 크기 및 원본과 같은 페이지 매개 변수를 설정하지 못하도록 합니다.
PSD_DISABLEPRINTER
0x00000020
되지 않는.

Windows XP/2000: 프린터 단추를 사용하지 않도록 설정하여 사용자가 추가 프린터 설정 정보가 포함된 대화 상자를 호출하지 못하도록 합니다.

PSD_ENABLEPAGEPAINTHOOK
0x00040000
lpfnPagePaintHook 멤버에 지정된 후크 프로시저를 사용하도록 설정합니다.
PSD_ENABLEPAGESETUPHOOK
0x00002000
lpfnPageSetupHook 멤버에 지정된 후크 프로시저를 사용하도록 설정합니다.
PSD_ENABLEPAGESETUPTEMPLATE
0x00008000
hInstancelpPageSetupTemplateName 멤버가 기본 템플릿 대신 사용할 대화 상자 템플릿을 지정함을 나타냅니다.
PSD_ENABLEPAGESETUPTEMPLATEHANDLE
0x00020000
hPageSetupTemplate 멤버가 미리 로드된 대화 상자 템플릿을 포함하는 데이터 블록을 식별함을 나타냅니다. 이 플래그가 지정된 경우 시스템에서 lpPageSetupTemplateName 멤버를 무시합니다.
PSD_INHUNDREDTHSOFMILLIMETERS
0x00000008
수백 밀리미터가 여백과 용지 크기에 대한 측정 단위임을 나타냅니다. rtMargin, rtMinMarginptPaperSize 멤버의 값은 수백 밀리미터입니다. 입력 시 이 플래그를 설정하여 사용자의 로캘에 대한 기본 측정 단위를 재정의할 수 있습니다. 함수가 반환되면 대화 상자에서 이 플래그를 설정하여 사용된 단위를 나타냅니다.
PSD_INTHOUSANDTHSOFINCHES
0x00000004
1,000인치가 여백 및 용지 크기에 대한 측정 단위임을 나타냅니다. rtMargin, rtMinMarginptPaperSize 멤버의 값은 천 분의 1 인치입니다. 입력 시 이 플래그를 설정하여 사용자의 로캘에 대한 기본 측정 단위를 재정의할 수 있습니다. 함수가 반환되면 대화 상자에서 이 플래그를 설정하여 사용된 단위를 나타냅니다.
PSD_INWININIINTLMEASURE
0x00000000
예약.
PSD_MARGINS
0x00000002
시스템에서 rtMargin 멤버에 지정된 값을 왼쪽, 위쪽, 오른쪽 및 아래쪽 여백의 초기 너비로 사용하도록 합니다. PSD_MARGINS 설정되지 않은 경우 시스템은 모든 여백에 대해 초기 너비를 1인치로 설정합니다.
PSD_MINMARGINS
0x00000001
시스템에서 rtMinMargin 멤버에 지정된 값을 왼쪽, 위쪽, 오른쪽 및 아래쪽 여백에 대해 허용되는 최소 너비로 사용하도록 합니다. 시스템에서는 사용자가 지정된 최소값보다 작은 너비를 입력할 수 없습니다. PSD_MINMARGINS 지정하지 않으면 시스템에서 허용되는 최소 너비를 프린터에서 허용하는 너비로 설정합니다.
PSD_NONETWORKBUTTON
0x00200000
네트워크 단추를 숨기고 사용하지 않도록 설정합니다.
PSD_NOWARNING
0x00000080
기본 프린터가 없는 경우 시스템에서 경고 메시지를 표시하지 못하도록 합니다.
PSD_RETURNDEFAULT
0x00000400

PageSetupDlg 대화 상자가 표시되지 않습니다. 대신 hDevNameshDevMode 멤버를 DEVMODE 처리하고 시스템 기본 프린터에 대해 초기화된 DEVNAMES 구조를 설정합니다. PageSetupDlg hDevNames 또는 hDevMode NULL않으면 오류를 반환합니다.

PSD_SHOWHELP
0x00000800
대화 상자에 도움말 단추가 표시되도록 합니다. 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 멤버에 설정된 경우 hInstancelpPageSetupTemplateName 멤버로 명명된 대화 상자 템플릿이 포함된 애플리케이션 또는 모듈 인스턴스에 대한 핸들입니다.

lCustData

형식: LPARAM

시스템에서 lpfnPageSetupHook 멤버로 식별된 후크 프로시저에 전달하는 애플리케이션 정의 데이터입니다. 시스템에서 후크 프로시저에 WM_INITDIALOG 메시지를 보낼 때 메시지의 lParam 매개 변수는 대화 상자를 만들 때 지정된 PAGESETUPDLG 구조체에 대한 포인터입니다. 후크 프로시저는 이 포인터를 사용하여 lCustData 값을 가져올 수 있습니다.

lpfnPageSetupHook

형식: LPPAGESETUPHOOK

대화 상자에 대한 메시지를 처리할 수 있는 PageSetupHook 후크 프로시저에 대한 포인터입니다. PSD_ENABLEPAGESETUPHOOK 플래그가 Flags 멤버에 설정되지 않으면 이 멤버는 무시됩니다.

lpfnPagePaintHook

형식: LPPAGEPAINTHOOK

샘플 페이지를 다시 그릴 때마다 대화 상자에서 WM_PSD_* 메시지를 수신하는 PagePaintHook 후크 프로시저에 대한 포인터입니다. 후크 프로시저는 메시지를 처리하여 샘플 페이지의 모양을 사용자 지정할 수 있습니다. PSD_ENABLEPAGEPAINTHOOK 플래그가 Flags 멤버에 설정되지 않으면 이 멤버는 무시됩니다.

lpPageSetupTemplateName

형식: LPCTSTR

hInstance 멤버로 식별되는 모듈의 대화 상자 템플릿 리소스 이름입니다. 이 템플릿은 표준 대화 상자 템플릿으로 대체됩니다. 번호가 매겨진 대화 상자 리소스의 경우 lpPageSetupTemplateNameMAKEINTRESOURCE 매크로에서 반환되는 값일 수 있습니다. PSD_ENABLEPAGESETUPTEMPLATE 플래그가 Flags 멤버에 설정되지 않으면 이 멤버는 무시됩니다.

hPageSetupTemplate

형식: HGLOBAL

PSD_ENABLEPAGESETUPTEMPLATEHANDLE 플래그가 Flags 멤버에 설정된 경우 hPageSetupTemplate 대화 상자 템플릿을 포함하는 메모리 개체에 대한 핸들입니다.

발언

PSD_INHUNDREDTHSOFMILLIMETERSPSD_INTHOUSANDTHSOFINCHES 플래그가 지정되지 않은 경우 시스템은 기본 사용자 로캘의 LOCALE_IMEASURE 값을 쿼리하여 여백 너비와 용지 크기에 대한 측정 단위(수백 밀리미터 또는 10000인치)를 결정합니다.

hDevNameshDevMode 모두 유효한 핸들과 DEVNAMES의 wDeviceOffset 멤버로 지정된 프린터 이름이 구조체는 DEVMODE 구조체의 dmDeviceName 멤버에 의해 지정된 이름과 동일하지 않으며, 시스템은 기본적으로 wDeviceOffset 지정된 이름을 사용합니다.

메모

commdlg.h 헤더는 PAGESETUPDLG를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱만 해당]
헤더 commdlg.h(Windows.h 포함)

참고 항목

일반 대화 상자 라이브러리

개념

DEVMODE

DEVNAMES

메이킨트레소스

기타 리소스

pagePaintHook

pageSetupDlg

PageSetupHook

참조

WM_INITDIALOG