인쇄 페이지 설정

이 항목에서는 사용자 용지 종류, 용지 공급, 용지 방향 및 페이지 여백 등 인쇄 된 페이지의 특성을 선택할 수 있도록 페이지 설정 대화 상자를 표시 하는 샘플 코드를 설명 합니다. 샘플 코드를 먼저 PAGESETUPDLG 구조를 초기화 하 고 대화 상자를 표시 하려면 PageSetupDlg 함수를 호출 하는 다음.

이 예제에서는 플래그 구성원에서 PSD_MARGINS 플래그를 설정 하 고 rtMargin 멤버를 사용 하 여 초기 여백 값을 지정 합니다. 대화 상자 1/1000 인치 여백 치수를 표현 하 고 있는지 확인 하려면 PSD_INTHOUSANDTHSOFINCHES 플래그를 설정 하는 그것.

입력에 샘플 코드는 NULL로 hDevModehDevNames 멤버를 설정합니다. 함수 이러한 멤버를 사용 하 여 핸들을 반환 하는 함수에서 TRUE를 반환 하는 경우 DEVMODEDEVNAMES 구조에서 사용자의 입력을 포함 하 고 프린터에 대 한 정보. 이 정보를 사용 하 여 선택한 프린터로 보낼 출력 준비.

예제에서는 또한 그리기 샘플 페이지의 내용을 사용자 지정 하려면 PagePaintHook 후크 프로시저를 사용 하면.

PAGESETUPDLG psd;    / / 일반 대화 상자 구조
HWND hwnd;           / / 소유자 창

/ / 초기화 PAGESETUPDLG
ZeroMemory (amp; psd, sizeof(PAGESETUPDLG));
psd.lStructSize = sizeof(PAGESETUPDLG);
psd.hwndOwner = hwnd;
psd.hDevMode = NULL; / / 무료 또는 hDevMode 저장 하는 것을 잊지 마세요.
psd.hDevNames = NULL; / / 무료 또는 저장 하는 것을 잊지 마세요
                  Hdevnames입니다.
psd입니다.플래그 = PSD_INTHOUSANDTHSOFINCHES (ko) | PSD_MARGINS | 
                  PSD_ENABLEPAGEPAINTHOOK; 
psd.rtMargin.top = 1000;
psd.rtMargin.left = 1250;
psd.rtMargin.right = 1250;
psd.rtMargin.bottom = 1000;
psd.lpfnPagePaintHook = PaintHook;

경우 (PageSetupDlg(&psd) = TRUE) {
    / / 용지 크기와 여백 값 여기 체크
} 

다음 예제에서는 샘플 페이지 영역에서 여백 사각형을 그리는 예제 PagePaintHook 후크 프로시저를 보여 줍니다.:

BOOL 콜백 PaintHook (hwndDlg HWND, UINT uMsg, WPARAM wParam, LPARAM lParam) {LPRECT lprc; 
    COLORREF crMargRect; 
    HDC hdc, hdcOld; 
 
    스위치 (uMsg) {/ / 여백 사각형 그리기. 
        WM_PSD_MARGINRECT 경우: hdc (HDC) wParam; = 
            lprc = (LPRECT) lParam; 
 
            / / 시스템 강조 색을 얻을. 
            crMargRect = GetSysColor(COLOR_HIGHLIGHT); 
 
            / 시스템 강조 색상의 대시-도트 펜 만들기 / 및 / / 샘플 페이지의 DC로 선택 합니다. 
            hdcOld = SelectObject (hdc, CreatePen (PS_DASHDOT,.5, crMargRect)); 
 
            / / 여백 사각형을 그립니다. 
            사각형 (hdc, lprc gt; 왼쪽, lprc-> 톱, lprc-> 오른쪽, lprc-> 아래); 
 
            / / DC에 이전 펜을 복원 합니다. 
            SelectObject (hdc, hdcOld); 
            TRUE를 반환 합니다. 
 
        기본값: FALSE; 반환 
    } TRUE를 반환 합니다. 
} 
 

 

Index