Fonctions d'impressions (vc++)

Fermé
f1cobra Messages postés 64 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 18 octobre 2002 - 24 mai 2002 à 00:23
f1cobra Messages postés 64 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 18 octobre 2002 - 26 mai 2002 à 10:25
Salut

Dans une boite de dialogue, j'ai un bouton qui me sert pour l'impression, ce bouton appelle une autre boite de dialogue qui contient toutes les informations a imprimer. Comment faire pour réaliser l'impression proprement dite ? J'essaie d'appeller la fonction OnPrint de ma formview (a partir de la boite de dialogue qui contient les donnees) mais ca ne marche pas. On ma aussi parle de la classe cprintdialog mais je ne possede pas les fichiers de cette classe. Quelqu'un peut m'aider svp ? C'est très important et urgent

Merci beaucoup

Cobra

tu ne gagnes pas la médaille d'argent, 
tu perds la médaille d'or

1 réponse

f1cobra Messages postés 64 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 18 octobre 2002 3
24 mai 2002 à 12:24
Quelqu'un a essayé de m'aider avec une fonction trouvée dans un tutorial mais ca ne semble pas très efficace, voici le code en question


void CDialogueReservation::OnButtonImprimer()
{
// TODO: Add your control notification handler code here

CDialogueImpression Imprim;
Imprim.m_nId = m_reservation;
Imprim.DoModal();

CPrintInfo* pInfo;
pInfo = new CPrintInfo;
//lecture des caracteristiques de l'imprimante
HDC hdc_default;
DWORD dwNeeded,dwReturned;
//information traitement imprimante par defaut
PRINTER_INFO_5 pinfo5[5];
//recherche de l'imprimante par defaut
if(EnumPrinters(PRINTER_ENUM_DEFAULT,NULL,5,(LPBYTE)pinfo5,sizeof(pinfo5),&dwNeeded,&dwReturned))
hdc_default = CreateDC(NULL,pinfo5[0].pPrinterName,NULL,NULL);
else
{
AfxMessageBox("Aucune Imprimante par defaut");
return;
}
//lecture des caracteristiques de l'imprimante
//taille en cm de la page
/* GetDevice(hdc_default,HORZSIZE);
GetDevice(hdc_default,VERTSIZE);
//nombre de pixels x,y
GetDeviceCaps(hdc_default,HORZRES);
GetDevice(hdc_default,VERTRES);
*/ //resolution en dpi
// int m_ImpreResDpi = GetDevice(hdc_default,LOGPIXELSX);
//nom de l'imprimante
pinfo5[0].pPrinterName;
//la methode OnPreparePrinting
pInfo->SetMinPage(1);
pInfo->SetMaxPage(1);
//OnPrint : permet d'acceder aux donnéees liees a CPrintInfo lors de l'impression
pInfo->m_bPreview ;//indique si la destination est l'aperçu de l'"impression
pInfo->m_nCurPage;
//donne le num de la page en cours
}

Quelqu'un peut m'aider svp ? c'est très important merci

Cobra

tu ne gagnes pas la médaille d'argent, 
tu perds la médaille d'or
0
f1cobra Messages postés 64 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 18 octobre 2002 3
26 mai 2002 à 10:25
Ariock on m'a dit que tu pourrais surement m'aidr

Cobra

tu ne gagnes pas la médaille d'argent, 
tu perds la médaille d'or
0