Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[4311] [답변] SAS5542/ 델파이 2.0
누리빛 [ ] 1196 읽음    1998-09-01 11:44

안녕하세요~? 누리빛입니다.

우선 PageHeight, PageWidth 를 PaperLength, PaperHeight로 잘 못

쓰신걸로 알고 답변 드리겠습니다.

1.0에서는 PaperLength, PaperHeight라는 Property는 없는 것 같은데...

사실 제가 퀵 레포트를 잘 안써서....

어쨌건 PageHeight, PageWidth라고 하더라도 이것은 Read Only로 되어

있기 때문에 거기에 값을 집어넣을 수는 없답니다.

대신에 직접 프린터 정보를 바꿔주는 일을 해 주시면 어떨런지...

프린터 용지를 바꿔주는 함수를 하나 올리죠...

// 용지 크기 설정
procedure SetPaperSize( ASize : string );
var
    ADevice, ADriver, APort: array[0..200] of Char;
    ADeviceMode: THandle;
    ADevMode : PDeviceMode;
    iSize : integer;    // 용지 크기
begin
    iSize := 259;
    if ASize = '80' then iSize := 258
    else if ASize = '136' then iSize := 259

    else if ASize = 'A4' then iSize := DMPAPER_A4
    else if ASize = 'A3' then iSize := DMPAPER_A3

    else if ASize = 'B4' then iSize := DMPAPER_B4
    else if ASize = 'B5' then iSize := DMPAPER_B5
    else _ShowMessage('지원되지 않는 파라미터입니다.');

    Printer.GetPrinter(ADevice,ADriver,APort,ADeviceMode);
    Printer.SetPrinter(ADevice,ADriver,APort,ADeviceMode);

    Printer.GetPrinter(ADevice,ADriver,APort,ADeviceMode);
    ADevMode := GlobalLock(ADeviceMode);
    ADevMode^.dmPaperSize := iSize;

    GlobalUnLock(ADeviceMode);
    Printer.SetPrinter(ADevice,ADriver,APort,ADeviceMode);
end;


그럼 좋은 하루 되세요....


+ -

관련 글 리스트
4311 [답변] SAS5542/ 델파이 2.0 누리빛 1196 1998/09/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.