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
[41215] 이 코드가 말이 되는 코드인지 한 번 만 봐 주세요. 제발.....
임영우 [xsapiens] 1088 읽음    2005-07-27 00:07
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;

     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             이 코드가 말이 되는 코드인지 한 번 만 봐 주세요. 제발..... 임영우 1088 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.