Problème d'impression

jeremsDev Messages postés 3 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 22 novembre 2004 - 11 nov. 2004 à 20:56
jeremsDev Messages postés 3 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 22 novembre 2004 - 12 nov. 2004 à 01:04
Voila en fait je souhaite imprimer une liste de noms de fichiers contenu dans un edit
le problème c que lorsque j'imprime les noms ne sont pas imprimer l'un a la suite d e l'autre ils sont tous au meme endroit
Je laisse mon code source de l'impression
Si quelqu'un peut me dire c koi le problème se serait sympa

HDC hDCmem;
DOCINFO di;
PRINTDLG prd;

// Appelle une Common Dialog Box d'impression.
prd.lStructSize = sizeof(PRINTDLG);
prd.hDevMode = (HANDLE) NULL;
prd.hDevNames = (HANDLE) NULL;
prd.Flags = PD_RETURNDC;
prd.hwndOwner = hwnd;
prd.hDC = (HDC) NULL;
prd.nFromPage = 1;
prd.nToPage = 1;
prd.nMinPage = 0;
prd.nMaxPage = 0;
prd.nCopies = 1;
prd.hInstance = NULL;
prd.lCustData = 0L;
prd.lpfnPrintHook = (LPPRINTHOOKPROC) NULL;
prd.lpfnSetupHook = (LPSETUPHOOKPROC) NULL;
prd.lpPrintTemplateName = (LPSTR) NULL;
prd.lpSetupTemplateName = (LPSTR) NULL;
prd.hPrintTemplate = (HANDLE) NULL;
prd.hSetupTemplate = (HANDLE) NULL;


PrintDlg(&prd);

// Créer un contexte de périphérique pour l'imprimante.

hDCmem = CreateCompatibleDC(prd.hDC);

memset( &di, 0, sizeof( DOCINFO ) );
di.cbSize = sizeof( DOCINFO );
di.lpszDocName = "Liste Disquette";

// Imprimer le contenu de l'Edit Box sur l'imprimante.



if(longueurTexte > 0){
int index 0, index2 0, ligne = 1 ;
char buffer[3000] = "" ;
char bufferTmp[50] = "" ;
//if(buffer != NULL){

if(GetWindowText(edition, buffer, longueurTexte)){

if ( StartDoc( prd.hDC, &di ) > 0 ){
StartPage( prd.hDC );
while(index < longueurTexte){

while(buffer[index] != '\r'){
bufferTmp[index2] = buffer[index] ;
index++ ;
index2++ ;
}
TextOut( prd.hDC, (10*ligne), 10,bufferTmp, (index2));
ligne++ ;
index2=0;
index = index+2;

}
EndPage( prd.hDC );
EndDoc( prd.hDC );

}
}
//}
}
longueurTexte = 0 ;
DeleteDC( hDCmem );

2 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
11 nov. 2004 à 21:39
TextOut( prd.hDC, (10*ligne), 10,bufferTmp, (index2));

Ton param Y reste a 10, donc je pense kil ya un pb la, teste ce code avec le HDC de ta fenetre, et tu verras bien comment apparaissent les lignes..

++
0
jeremsDev Messages postés 3 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 22 novembre 2004
12 nov. 2004 à 01:04
le paramètre en Y ne dois pas etre changé si je passe à la ligne suivante
0
Rejoignez-nous