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

C++빌더 Q&A
C++Builder Programming Q&A
[4477] 델파이 print 예제를 빌더로 .. ㅠ.ㅠ
김진수 [] 3383 읽음    2000-11-28 00:00

안녕하세요 김진수 입니다.
이번에 Canvas로 그려서 출력을 하려고 하는데 프린터에 쪼그마하게
나오더군여.. 흑흑
간신히 델파이 예제를 구했는데 언어를 몰라 빌더로 바꾸지 못하고
있습니다.. 도움 부탁드립니다.

// 그리는 루틴
procedure DrawPage( Canvas: TCanvas );
begin
Canvas.Rectangle( 0, 0, 1000, -200 );
end;

// 기준 점을 APoint로 바꾸고 현재의 기준점을 리턴한다.
function SetOrgPoint( APoint: TPoint ): TSize;
var
Org: TPoint;
begin
Escape( Printer.Canvas.Handle, GETPRINTINGOFFSET, 0, nil, @Org );
SetWindowOrgEx( Printer.Handle, Org.X-APoint.X, APoint.Y-Org.Y, @Result );
end;

//메인 루틴
procedure TMain_Form.Button10Click(Sender: TObject);
var
OldMap: Integer;
OldOrg: TSize;
begin
//{인쇄를 시작한다}
Printer.BeginDoc;

//{현재 매핑모드를 oldMap에 저장하고 새로운 매핑모드(0.1mm)를 적용한다}
OldMap := SetMapMode( Printer.Handle, MM_LOMETRIC );

//{현재의 기준점을 OldOrg에 저장하고 새로운 기준점(20mm)을 적용한다}
OldOrg := SetOrgPoint( Point( 200, 200 ) );

try
//{그린다}
DrawPage( Printer.Canvas );

//{여기서 finally 구문은 필히 사용해서 프린터가 먹통이 되는일이 없게..}
finally
//{기준점을 원래대로 복구한다}
SetOrgPoint( Point( OldOrg.cx, OldOrg.cy ) );

//{매핑모드를 원래대로 복구한다}
SetMapMode( Printer.Handle, OldMap );

//{인쇄를 종료한다}
Printer.EndDoc;
end;
end;

이것입니다... 꼭좀 도와 주세여...


+ -

관련 글 리스트
4477 델파이 print 예제를 빌더로 .. ㅠ.ㅠ 김진수 3383 2000/11/28
4481     Re:델파이 print 예제를 빌더로 .. ㅠ.ㅠ zoro 3861 2000/11/28
4487         감따합니다.^^ [내용무] 김진수 2952 2000/11/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.