Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » aus verschiedenen schächten Drucken

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
22.09.2005, 10:31 Uhr
~TaFa
Gast


Moin moin,
folgendes Problem ..
habe ein Drucker mit 2 schächten möchte eingentlicht mal aus dem einen mal aus dem anderen drucken eigentlicht ganz simpel????
habe diesen code benutzt:

C++:
void CDruckenView::OnBeginPrinting( CDC* pDC, CPrintInfo* pInfo)
{
CString str;
MessageBox("Test Beginn");
    
PRINTDLG* pPrintDlg = new PRINTDLG;
AfxGetApp()->GetPrinterDeviceDefaults(pPrintDlg);
DEVMODE* lpDevMode = (DEVMODE*)::GlobalLock(pPrintDlg->hDevMode);        

lpDevMode->dmDefaultSource = DMBIN_MANUAL ;
  
char    binNames[50][24];
WORD    count, binValues[50];
memset( &binValues, 0, sizeof( binValues ) );
memset( &binNames , 0, sizeof( binNames  ) );
          
DeviceCapabilities( "PP803_Reserve_192.168.1.106","IP_192.168.1.106", DC_BINS, (char*)&binValues, lpDevMode);
count = DeviceCapabilities( "PP803_Reserve_192.168.1.106","IP_192.168.1.106", DC_BINNAMES, (char*)&binNames, lpDevMode);
for(int i = 0; i < count; i++)
{
    str = binNames[i];
    if( str.Find( "unten" ) != -1 )
    {    
        lpDevMode->dmDefaultSource = binValues[i];
        lpDevMode->dmFields = lpDevMode->dmDefaultSource;
    }
}
::GlobalUnlock(pPrintDlg->hDevMode);
delete pPrintDlg;
}



ich komme zwar auf den wert 266 (soll den unteren schacht beschreiben) druckt
aber immer auf den oberen schacht ...
ich bin am verzweifeln .... :confused: :confused:
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.09.2005, 11:00 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


musst du ihm nicht den binName übergeben? nicht das value?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.09.2005, 11:21 Uhr
~TaFa
Gast


Halloo
danke erstmal für die schnelle Antwort ...
binValues ist schon richtig den devmode->dmDefaultSource ist von typ Short
ich habe es auch endlich hingekriegt
wenns denn jemanden intressiert !!!

C++:
BOOL CDruckenView::OnPreparePrinting(CPrintInfo* pInfo)
{
    pInfo->SetMaxPage( 1 );
    pInfo->m_bDirect = true ;
    
    PRINTDLG* pPrintDlg = new PRINTDLG;
    AfxGetApp()->GetPrinterDeviceDefaults( pPrintDlg );
    DEVMODE* lpDevMode = ( DEVMODE* )::GlobalLock( pPrintDlg->hDevMode );        
  
    char    binNames[50][24];
        WORD    count, binValues[50];
    memset( &binValues, 0, sizeof( binValues ) );
        memset( &binNames , 0, sizeof( binNames  ) );
    
    DeviceCapabilities( "PP803_Reserve_192.168.1.106","IP_192.168.1.106", DC_BINS, ( char* )&binValues, lpDevMode);
    count = DeviceCapabilities( "PP803_Reserve_192.168.1.106","IP_192.168.1.106", DC_BINNAMES, ( char* )&binNames, lpDevMode);
  for( int i = 0; i < count; i++ )
  {
        CString str = binNames[i];
        if( str.Find( "unten" ) != -1 )
            lpDevMode->dmDefaultSource = binValues[i];

    }
    ::GlobalUnlock( pPrintDlg->hDevMode );
    delete pPrintDlg;
    return DoPreparePrinting( pInfo );
}



fehler war : ich hatte ursprünglich in "OnBeginPrinting" Funktion versucht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.09.2005, 14:38 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


stimmt wohl hab ich auch übersehen
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: