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
[24839] Re:Re:Re:[딥변] 답변감사합니다.
이성희 [] 1011 읽음    2003-03-21 12:27
둘리님 답변 감사합니다.
게시판 열심히 찾아서 해봐야겠군요
해보고 않되고 다시 질문 올리겠습니다.
그때도 부탁드립니다.

둘리 님이 쓰신 글 :
: 제가 아는한 도트방식의 프린터인경우 특정한 길이의 종이를 사용하실경우
: port를 직접 제어 하셔야 됩니다.
: 일반적으로 윈도우즈 에서의 프린터 드라이브 역시 HDC와 같은 DC를 사용합니다.
: 이러한 DC형식은 2차원 평면을 기본으로 하는 좌표계이며
: dot 방식의 line feed 형식을 사용하기가 힘듭니다.
:
: 그러므로 printer port를 직접 제어 하셔야 됩니다.
: 일반적으로 98계열은 포트를 직접 제어 할수 있는데요
: NT계열은 이러한 포트를 직접 제어 할수 없습니다.
:
: 여기 콤포넌트 검색 부분에 포트 제어하는 것 이 몇개 올라와 있던데.
: 그런걸 한번 사용해 보심이 어떨지요..
:
: 프린터의 PageHeight 은 read only입니다.
: 그렇게 임의로 설정할 수 없습니다..
:
: 참고적으로 윈도우지 컴포넌트 help에 property 왼쪽에 파란색 삼각형은 read only를 뜻합니다
:
:
:
:
: 답답이 님이 쓰신 글 :
: : 먼저 친절히 답변해주신것에 감사드립니다.
: : 정성훈.해미 님께서 조언해 주신 대로 프린터되는 부분을 수정해보았습니다.
: : 그런데 자꾸만 에러가 발생하네요
: : 
: :     TPrinter *Prntr = Printer();
: :     Prntr->PageHeight=395;  <-----여기서 에러발생
: :
: :  [C++ Error] wrkprn.cpp(540): E2247 'TPrinter::PageHeight' is not accessible
: :
: :     Prntr->BeginDoc();
: :     if(Check==true) ReWriteText(Prntr->Canvas);
: :     else WriteText(Prntr->Canvas);
: :     check=2;
: :     Prntr->EndDoc();
: :
: : 제가 기초가 많이 부족한 상태에서 작업을 하다보니
: : 뭐가 잘못 되었는지 잘 모르겠습니다.
: : 한 번더 조언 부탁드립니다.
: :
: : 정성훈.해미 님이 쓰신 글 :
: : : 다음을 Printer()->BeginDoc(); 앞에 넣으세요.
: : :
: : : Printer()->PageHeight = 297/2; //높이를 원하는 만큼 변경하세요...
: : :
: : : 이렇게 하면 프로그램에서 변경하지 못합니다..
: : : 변경할 수 있게 프린터 다이알로그를 사용하는건 어떠한지요..
: : :
: : :
: : : 답변이 늦어소 죄송...
: : :
: : : 업무 때문에 확인 못했네요....
: : :
: : :
: : :
: : : 답답이 님이 쓰신 글 :
: : : : 정성훈.해미 님의 답변 정말 감사드립니다.
: : : : 제가 지금 외부에 나와 있어서 직접 코딩에 적용하지는 못 했습니다.
: : : : 그리고 제가 죄송하지만 의문 사항이 있습니다.
: : : :
: : : : 아래 소스에 보면 인쇄할 좌표는 있는데 인쇄할 페이지의 사이즈에 대한 언급이 없는것
: : : : 같아서 혹시 아시면 좀 더 자세한 답변 부탁드립니다
: : : : 페이지가 프린터 될때 프린터 한 페이지가 80컬럼 연속용지 반사이즈 크기가 프린터의
: : : : 한 페이지의 크기가 되게 하려고 합니다.
: : : :
: : : : 현재 문제가 되는것은 예를 들면 계산서 한장을 출력하면 80컬럼 연속용지 반사이즈만큼만
: : : : 출력하고 프린터가 정지해야 되는데 A4한장 사이즈만큼 밀려 나오는 문제입니다.
: : : :
: : : : 조언 부탁드립니다.
: : : :
: : : : 정성훈.해미 님이 쓰신 글 :
: : : : : 상단에 다음을 추가하시구염....
: : : : : #include <Printers.hpp>
: : : : :
: : : : :
: : : : : 출력할 이벤트 함수에는....
: : : : :
: : : : :     TBitMap *PrintImage1 = Form1->GetFormImage(); // 윗장에 출력할 폼
: : : : :     TBitMap *PrintImage2 = Form2->GetFormImage(); // 아랫장에 출력할 폼
: : : : :
: : : : :     Printer()->Title = "세금계산서"; //인쇄관리자에 표시될 문서 이름을 넣습니다
: : : : :     Printer()->BeginDoc(); // 인쇄 작업 시작
: : : : :     Printer()->Canvas->Draw(20, 20,PrinteImage1); //이미지 인쇄
: : : : :     Printer()->Canvas->Draw(20, 20 + Form1->Height,PrinteImage2); //이미지 인쇄
: : : : :
: : : : :     //Draw()함수 내용   
: : : : :     //Draw(왼쪽 좌표,위쪽 좌표,인쇄할 이미지)
: : : : :
: : : : :     Printer()->EndDoc(); //인쇄 작업 종료
: : : : :
: : : : :     delete PrintImage1; // 임시 메모리 해제
: : : : :     delete PrintImage2; // 임시 메모리 해제
: : : : :
: : : : : 이렇게 하면 아마 될겁니다....
: : : : :
: : : : :
: : : : :
: : : : : 답답이 님이 쓰신 글 :
: : : : : : 답변이 없어서 다시 글을 올립니다.
: : : : : : 급합니다.
: : : : : : 제발 조금이라도 아시는 분이 계시다면 조언 부탁드립니다.
: : : : : :
: : : : : : 도트 프린터에서 출력을 하려고 합니다.
: : : : : : 출력양식이 일반 80컬럼 연속용지 반 사이즈로 출력을 합니다.
: : : : : : 예를들면 세금계산서 출력을 하는데 앞장은 공급자용 뒷장은 공급받는자용으로
: : : : : : 두장이 붙어있는 상황입니다.
: : : : : : 그래서 출력도 거기에 맞게 출력이 되어야 하는데
: : : : : : 적당한 컨트롤 방법을 모르겠습니다.
: : : : : :
: : : : : : 그래서 한장 출력후 현재는 A4사이즈 만큼 종이가 밀려나옵니다.
: : : : : : 현재 업무에 직접적으로 사용을 해야 하는데
: : : : : : 이런 문제 때문에 적용을 못하고 있습니다.
: : : : : :
: : : : : : 특정한 양식 사이즈를 적용하여서 출력하는 방법을 알고싶습니다.
: : : : : : 저는 출력 진행이 PaintBox에 해당 출력 사항을 그린후에 출력을 합니다.
: : : : : :
: : : : : : 저는 아직 실력이 모자라서 그런지 게시판에 비슷한 내용들을 봐도
: : : : : : 무슨 말인지 잘 이해되지 않아서 이렇게 글을 올립니다.
: : : : : :
: : : : : : TPrinter의 PageHeigh를 이용하면 될것도 같은데
: : : : : : 어떻게 활용해야 할지 알 수가 없네요
: : : : : :
: : : : : : 많은 분들의 조언을 부탁드립니다.
: : : : : : 끝까지 읽어주셔서 감사합니다
: : : : : :

+ -

관련 글 리스트
24818 [질문]엑셀 파일을 읽는 방법을 알고 싶습니다. 김삿갓 830 2003/03/20
24820     Re:[질문]엑셀 파일을 읽는 방법을 알고 싶습니다. 임선규 1148 2003/03/20
24819     Re:[질문]엑셀 파일을 읽는 방법을 알고 싶습니다. 조준회 890 2003/03/20
24815         Re:답변 감사합니다. 답답이 897 2003/03/20
24824             [딥변] Printer()->PageHeight값을 변경하세요.... 정성훈.해미 941 2003/03/20
24832                 Re:[딥변] Printer()->PageHeight값을 변경하세요.... 답답이 1295 2003/03/21
24837                     Re:Re:[딥변] Printer()->PageHeight값을 변경하세요.... 둘리 1043 2003/03/21
24839                         Re:Re:Re:[딥변] 답변감사합니다. 이성희 1011 2003/03/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.