Choix imprimante

maevasa Messages postés 100 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 3 août 2004 - 6 juil. 2004 à 09:30
maevasa Messages postés 100 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 3 août 2004 - 7 juil. 2004 à 13:20
Bonjour,
je voudrais imprimer un fichier directement sans l'ouvrir!
Quand j'utilise ShellExcetute avec print il choisit la telecopie par défaut je voudrais pouvoir faire choisir l'imprimante à l'utilisateur
Est ce quelqu'un sait comment faire?
merci
Mae ;)

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 juil. 2004 à 09:41
Petzold te le dira, lecture !!!
http://brunews.free.fr/brunews/download/CP5.zip
http://brunews.free.fr/brunews/download/CP5Sources.zip

ciao...
BruNews, Admin CS, MVP Visual C++
0
maevasa Messages postés 100 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 3 août 2004
7 juil. 2004 à 11:06
oki merci :-)

j'ai regardé mais j'ai un petit problème je ne sais pas ce qui correspond au fichier que je veux imprimer!


#include <windows.h> 
#include <commdlg.h>

RECT                rect ;
HDC                 hdcPrn ;
DOCINFO      di = { sizeof (DOCINFO), TEXT ("EmfView: Printing") } ;
HENHMETAFILE hemf;
PRINTDLG     printdlg = { sizeof (PRINTDLG) } ;
TCHAR szAppName[] = TEXT ("EmfView") ;

int main(void)
{
bool bSuccess;
HWND     hwnd ;
  
// Affiche la boîte de dialogue Imprimer et récupère le contexte de périphérique imprimante

printdlg.Flags = PD_RETURNDC | PD_NOPAGENUMS | PD_NOSELECTION ;

          if (!PrintDlg (&printdlg))
          return 0 ;
                              if (NULL (hdcPrn printdlg.hDC)) 
               {
                    MessageBox (hwnd, TEXT ("Imprimante introuvable"),
                                szAppName, MB_ICONEXCLAMATION | MB_OK) ;
                    return 0 ;
               }
                    // Récupère la zone imprimable de la page
               rect.left   = 0 ;
               rect.right  = GetDeviceCaps (hdcPrn, HORZRES) ;
               rect.top    = 0 ;
               rect.bottom = GetDeviceCaps (hdcPrn, VERTRES) ;

               bSuccess = FALSE ;

                    // Imprime

               SetCursor (LoadCursor (NULL, IDC_WAIT)) ;
               ShowCursor (TRUE) ;

               if ((StartDoc (hdcPrn, &di) > 0) && (StartPage (hdcPrn) > 0))
               {
                    PlayEnhMetaFile (hdcPrn, hemf, &rect) ;
                    
                    if (EndPage (hdcPrn) > 0)
                    {
                         bSuccess = TRUE ;
                         EndDoc (hdcPrn) ;
                    }
               }
               ShowCursor (FALSE) ;
               SetCursor (LoadCursor (NULL, IDC_ARROW)) ;

               DeleteDC (hdcPrn) ;

               if (!bSuccess)
                    MessageBox (hwnd, TEXT ("Impossible d'imprimer le fichier"),
                                szAppName, MB_ICONEXCLAMATION | MB_OK) ;
               return 0 ;

}


j'ai écrit ça !
Ca marche bien j'ai une jolie page blanche
Est ce que tu peux m'éclairer?
Merci d'avance Maeva
0
maevasa Messages postés 100 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 3 août 2004
7 juil. 2004 à 11:16
j'avais oublié cette ligne
hemf = GetEnhMetaFile ("C:\\Maeva\\temp\\a46c.pdf") ;

mais j'ai toujours une page blanche
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 juil. 2004 à 12:39
Ce soir en rentrant (si trop tard demain matin) je fais un exemple (a la va vite) de visualiseur wmf avec impression et je le mets en source.

ciao...
BruNews, Admin CS, MVP Visual C++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maevasa Messages postés 100 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 3 août 2004
7 juil. 2004 à 13:20
oki merci beaucoup
0
Rejoignez-nous