프린트시 가로 제어에 대해 > MFC Tip

본문 바로가기
사이트 내 전체검색

MFC Tip

프린트시 가로 제어에 대해

페이지 정보

profile_image
작성자 이즈
댓글 0건 조회 730회 작성일 06-12-27 00:22

본문

프린트 프로그래밍을 하고 있습니다. 그런데 가로로 프린트를 해야 하는데 있어서 문제가 발생했습니다. 코드는 다음과 같습니다.

DEVMODE dm;
memset(&dm, 0, sizeof(dm));
dm.dmSpecVersion = DM_SPECVERSION;
dm.dmSize = sizeof(dm);
dm.dmFields = DM_ORIENTATION;
dm.dmOrientation = DMORIENT_LANDSCAPE;
pDC->ResetDC(&dm);

 이렇게 지정을 했는데 문제는 그 다음 페이지부터 가로로 인쇄가 된다는 것입니다. 그리고 윈도우 NT 환경에서는 이 작업이 진행되지 않습니다. 해결 방법을 알려주세요.

가로 인쇄 제어를 다음과 같은 방법으로 해 보세요.

CDC dc;

CPrintDialog dlg1(FALSE), dlg2(FALSE);

dlg1.GetDefaults();

LPDEVMODE pDM = dlg1.GetDevMode();

// ++
if(pDM == NULL) {
    AfxMessageBox(IDS_NOT_READY_PRINTER, MB_ICONSTOP);
    return;
}

pDM->dmOrientation = DMORIENT_LANDSCAPE;
pDM->dmPrintQuality = 300;
pDM->dmYResolution = 300;

dlg2.m_pd.hDevMode = (HANDLE)pDM;

if(dlg2.DoModal() == IDOK)
    dc.Attach(dlg2.GetPrinterDC());    // PrinterDC를 얻는다.
else
    return;

DOCINFO di;

::ZeroMemory(&di, sizeof(DOCINFO));

di.cbSize = sizeof(DOCINFO);
di.lpszDocName = "Preset Pulse Graph Printing...";

if(dc.StartDoc(&di) > 0) {
    // 필요한 데이터를 출력한다.
}

댓글목록

등록된 댓글이 없습니다.

Total 172건 5 페이지

검색

회원로그인

회원가입

사이트 정보

컴퓨터 정보,윈도우즈,리눅스,포토샵,3ds
맥스,프로그래밍 강좌팁

접속자집계

오늘
484
어제
569
최대
5,287
전체
636,759
Copyright © www.qdata.co.kr All rights reserved.