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
[41216] Re:이 코드가 말이 되는 코드인지 한 번 만 봐 주세요. 제발.....
civilian,안영제 [civilian] 1005 읽음    2005-07-27 00:44
임영우 님이 쓰신 글 :
: ResetDC() 를 써 봤는데요....
: 이렇게 쓰는 것이 맞나요?
: 결과가 변화가 없기에.... 제가 잘못 사용한 것 같아서요... 도와주세요...
:
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:  char Device[256];
:  char Driver[256];
:  char Port[256];
:  THandle hDMode;
:  PDEVMODE pDMode;
:  TPrinter *P = Printer();
:
: ShowMessage( "A" );
: ShowMessage( P->PageWidth );
: ShowMessage( P->PageHeight );
:  P->PrinterIndex = P->PrinterIndex;
:  P->GetPrinter( Device, Driver, Port, hDMode );
:  if( hDMode != 0 )
:  {
:    pDMode = (PDEVMODE)GlobalLock((void*)hDMode);
:    if( pDMode != NULL )
:    {
: /*
:      pDMode->dmFields    = pDMode->dmFields | pDMode->dmPaperSize;
:      pDMode->dmPaperSize = DMPAPER_LEGAL; // Windows.pas?? DMPAPER_ ? ???? ???? ?????
: */
:      pDMode->dmOrientation = DMORIENT_PORTRAIT;
:      pDMode->dmFields = pDMode->dmFields |
:                          DM_ORIENTATION |
:                          DM_PAPERSIZE |
:                          DM_PAPERWIDTH |
:                          DM_PAPERLENGTH;
:      pDMode->dmPaperSize   = DMPAPER_USER;
:      pDMode->dmPaperWidth  = 20;
:      pDMode->dmPaperLength = 999;
:
:      pDMode->dmFields = pDMode->dmFields | DMBIN_MANUAL;
:      pDMode->dmDefaultSource = DMBIN_MANUAL;

      // 여기에 넣어 보세요.
      //=======================================================
      ResetDC(Printer->Handle, pDMode);
      //=======================================================
:
:      GlobalUnlock( (void *)hDMode );
:         }
:     }
:   P->PrinterIndex = P->PrinterIndex;
:
: ShowMessage( "B" );
: ShowMessage( P->PageWidth );
: ShowMessage( P->PageHeight );
:
: ///////////////////// 여기 이거요... 이렇게 쓰는 것 맞나요?//////////////////
:   ResetDC( (void*)P, pDMode );
:
: ShowMessage( "C" );
: ShowMessage( P->PageWidth );
: ShowMessage( P->PageHeight );
:
: /*
:  P->BeginDoc();
: //    for( int i=0, j=0; i<40 && j<2; i++ )
:     for( int i=0; i<40; i++ )
:   {
: //        if( i*P->Canvas->TextHeight("W") > P->PageHeight - 100 )
: //    {
: //        P->NewPage();
: //      i=0;
: //      j++;
: //    }
:     P->Canvas->TextOut(1,i*P->Canvas->TextHeight("W"), "TestTestTestTestTestTestTestTestTestTestTest");
:   }
:  P->EndDoc();
: */
: }
: //---------------------------------------------------------------------------
:
:
:
: 임영우 님이 쓰신 글 :
: : 그렇군요...
: : 그런 것이 제공되는군요.
: : 근데... 프린터를 북경 중관촌이라는 곳에서 싸구려를 샀걸랑요.
: : 제공되는 메뉴얼에 명령어(케쉬박스열기등등....)가 몇가지 있는 것이 다예요.
: : 콤퍼넌트 같은 것도 없구요. ㅠ,.ㅠ;
: : 드라이버가 다예요.
: : 그나마 드라이버도 좀 요상하구요. ㅠ,.ㅠ;
: : 후~~~!. 이걸 어째야 할지 원... 참... 난감하네요.
: : 일단 윗 분이 말씀하신데고 RestDC를 함 뒤져 봐야겠네요. ^^;
: : 그래도 한가지 방법을 더 알려주셔서 넘 감사합니다.
: : ^^;
: : 그럼...경험있으신 분들의 더 많은 답변 기다릴께요... 부탁해요..
: : ^^;
: : .
: :
: : 무심코 님이 쓰신 글 :
: : : 제가 영수증 프린터 출력 프로그램을 개발할때
: : : 프린터 업체에서 제공하는 라이브러리로 컴포넌트 했구요
: : : 예제 소스로 제공되어진 VB 소스를 째려보면서
: : : 개발을 했는데요! 아무런 문제가 없이 개발이 되었어요!
: : :
: : : 혹시 프린터 제공업체에서 제공되는 라이브러니나 예제 소스가
: : : 없는지 확인을 해보시는 것도 좋은 것 같아서요!
: : :
: : : 오늘은 별 도움이 안되는 얘기만 남기네요!

+ -

관련 글 리스트
41210 [질문]인쇄용지 설정 임영우 2027 2005/07/26
41213     Re:[질문]인쇄용지 설정 civilian,안영제 2523 2005/07/26
41212     Re:음...제 경우 무심코 1019 2005/07/26
41214         그렇군요... 근데 여긴 중국이고, 중국 싸구려 프린터라서요.. ㅠ,.ㅠ; 임영우 997 2005/07/26
41215             이 코드가 말이 되는 코드인지 한 번 만 봐 주세요. 제발..... 임영우 1089 2005/07/27
41216                 Re:이 코드가 말이 되는 코드인지 한 번 만 봐 주세요. 제발..... civilian,안영제 1005 2005/07/27
41242                     Re:Re:이 코드가 말이 되는 코드인지 한 번 만 봐 주세요. 제발..... 임영우 1133 2005/07/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.