|
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 소스를 째려보면서
: : 개발을 했는데요! 아무런 문제가 없이 개발이 되었어요!
: :
: : 혹시 프린터 제공업체에서 제공되는 라이브러니나 예제 소스가
: : 없는지 확인을 해보시는 것도 좋은 것 같아서요!
: :
: : 오늘은 별 도움이 안되는 얘기만 남기네요!
|