Fonctions d'impressions (vc++)

f1cobra Messages postés 64 Statut Membre -  
f1cobra Messages postés 64 Statut Membre -
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

  1. f1cobra Messages postés 64 Statut Membre 3
     
    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
    1. f1cobra Messages postés 64 Statut Membre 3
       
      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