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_MARGINS 및 PSD_MINMARGINS 플래그도 지정된 경우 이 플래그는 무시 됩니다. |
|
여백 컨트롤을 사용하지 않도록 설정하여 사용자가 여백을 설정하지 못하도록 합니다. |
|
방향 컨트롤을 사용하지 않도록 설정하여 사용자가 페이지 방향을 설정하지 못하도록 합니다. |
|
대화 상자가 샘플 페이지의 내용을 그리는 것을 방지합니다. PagePaintHook 후크 프로시저를 사용하도록 설정하는 경우에도 샘플 페이지의 내용을 그릴 수 있습니다. |
|
용지 컨트롤을 사용하지 않도록 설정하여 사용자가 용지 크기 및 소스와 같은 페이지 매개 변수를 설정하지 못하도록 합니다. |
|
사용되지 않습니다.
Windows XP/2000: 프린터 단추를 사용하지 않도록 설정하면 사용자가 추가 프린터 설정 정보가 포함된 대화 상자를 호출할 수 없습니다. |
|
lpfnPagePaintHook 멤버에 지정된 후크 프로시저를 사용하도록 설정합니다. |
|
lpfnPageSetupHook 멤버에 지정된 후크 프로시저를 사용하도록 설정합니다. |
|
hInstance 및 lpPageSetupTemplateName 멤버가 기본 템플릿 대신 사용할 대화 상자 템플릿을 지정함을 나타냅니다. |
|
hPageSetupTemplate 멤버가 미리 로드된 대화 상자 템플릿이 포함된 데이터 블록을 식별함을 나타냅니다. 이 플래그가 지정된 경우 시스템은 lpPageSetupTemplateName 멤버를 무시합니다. |
|
수백 밀리미터가 여백 및 용지 크기에 대한 측정 단위임을 나타냅니다. rtMargin, rtMinMargin 및 ptPaperSize 멤버의 값은 수백 밀리미터입니다. 입력 시 이 플래그를 설정하여 사용자의 로캘에 대한 기본 측정 단위를 재정의할 수 있습니다. 함수가 반환되면 대화 상자에서 이 플래그를 설정하여 사용된 단위를 나타냅니다. |
|
1,000인치가 여백 및 용지 크기에 대한 측정 단위임을 나타냅니다. rtMargin, rtMinMargin 및 ptPaperSize 멤버의 값은 천 분의 1인치입니다. 입력 시 이 플래그를 설정하여 사용자의 로캘에 대한 기본 측정 단위를 재정의할 수 있습니다. 함수가 반환되면 대화 상자에서 이 플래그를 설정하여 사용된 단위를 나타냅니다. |
|
예약되어 있습니다. |
|
시스템에서 rtMargin 멤버에 지정된 값을 왼쪽, 위쪽, 오른쪽 및 아래쪽 여백의 초기 너비로 사용하도록 합니다. PSD_MARGINS 설정되지 않은 경우 시스템은 모든 여백에 대해 초기 너비를 1인치로 설정합니다. |
|
시스템에서 rtMinMargin 멤버에 지정된 값을 왼쪽, 위쪽, 오른쪽 및 아래쪽 여백에 대해 허용되는 최소 너비로 사용하도록 합니다. 시스템은 사용자가 지정된 최소값보다 작은 너비를 입력하지 못하도록 합니다. PSD_MINMARGINS 지정하지 않으면 시스템에서 허용되는 최소 너비를 프린터에서 허용하는 너비로 설정합니다. |
|
네트워크 단추를 숨기고 사용하지 않도록 설정합니다. |
|
기본 프린터가 없는 경우 시스템에서 경고 메시지를 표시하지 못하도록 합니다. |
|
PageSetupDlg 는 대화 상자를 표시하지 않습니다. 대신 hDevNames 및 hDevMode 멤버를 시스템 기본 프린터에 대해 초기화된 DEVMODE 및 DEVNAMES 구조체에 대한 핸들로 설정합니다. hDevNames 또는 hDevMode가 NULL이 아닌 경우 PageSetupDlg는 오류를 반환합니다. |
|
대화 상자에 도움말 단추가 표시되도록 합니다. 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 멤버가 명명한 대화 상자 템플릿을 포함하는 애플리케이션 또는 모듈 instance 대한 핸들입니다.
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인치)를 확인합니다.
hDevNames와 hDevMode 모두 유효한 핸들을 가지고 있고 DEVNAMES 구조체의 wDeviceOffset 멤버가 지정한 프린터 이름이 DEVMODE 구조체의 dmDeviceName 멤버에 지정된 이름과 같지 않은 경우 시스템은 기본적으로 wDeviceOffset에 지정된 이름을 사용합니다.
참고
commdlg.h 헤더는 PAGESETUPDLG를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | commdlg.h(Windows.h 포함) |
추가 정보
개념
기타 리소스
참조