begin process at 2012 05 28 17:40:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

boite de dialog d'impression qui ne veut pas s'afficher


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

boite de dialog d'impression qui ne veut pas s'afficher

mercredi 26 janvier 2005 à 14:39:29 | boite de dialog d'impression qui ne veut pas s'afficher

hrp

pourquoi ce code n'affiche-t-il pas la boite de dialog d'impression?

//---------------------------------------------------------------------------
#include <windows.h>
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
        PRINTDLG pd;
        HWND hwnd;

        // Initialize PRINTDLG
        ZeroMemory(&pd, sizeof(pd));
        pd.lStructSize = sizeof(pd);
        pd.hwndOwner   = hwnd;
        pd.hDevMode    = NULL;
        pd.hDevNames   = NULL;
        pd.Flags       = PD_RETURNIC;
        pd.nCopies     = 1;
        pd.nFromPage   = 0xFFFF;
        pd.nToPage     = 0xFFFF;
        pd.nMinPage    = 1;
        pd.nMaxPage    = 0xFFFF;

        PrintDlg(&pd);
        DWORD dw = CommDlgExtendedError();


        return 0;
}
//---------------------------------------------------------------------------

huw

mercredi 26 janvier 2005 à 14:58:08 | Re : boite de dialog d'impression qui ne veut pas s'afficher

BruNews

Administrateur CodeS-SourceS
init ton: HWND hwnd = 0;
verif que le compilo a bien insere le code, voyant que ça ne fait rien, il peut tres bien l'avoir zappé.

ciao...
BruNews, MVP VC++
mercredi 26 janvier 2005 à 15:06:08 | Re : boite de dialog d'impression qui ne veut pas s'afficher

hrp

j'ai initialiser mon hwnd à 0. j'ai lancer mon prog pas à pas et après l'execution de la ligne "HWND hwnd = 0;", la variable hwnd = NULL. bref la boite de dialog ne s'affiche toujours pas

huw
mercredi 26 janvier 2005 à 15:13:20 | Re : boite de dialog d'impression qui ne veut pas s'afficher

BruNews

Administrateur CodeS-SourceS
et PrintDlg(&pd); est bien appelé ?

ciao...
BruNews, MVP VC++
mercredi 26 janvier 2005 à 15:25:23 | Re : boite de dialog d'impression qui ne veut pas s'afficher

hrp

je pense oui, je ne comprend pas pourquoi elle la fonction PrintDlg() ne serait pas bien appelée.

j'ai tenté de récupérer l'erreur retournée, voilà le code (me revoie toujour "CDERR_STRUCTSIZE" or pd.lStructSize=68):

//---------------------------------------------------------------------------
#include <windows.h>
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{

        PRINTDLG pd;
        HWND hwnd;
        hwnd = 0;

        // Initialize PRINTDLG
        ZeroMemory(&pd, sizeof(pd));
        pd.lStructSize = sizeof(pd);
        pd.hwndOwner   = hwnd;
        pd.hDevMode    = NULL;
        pd.hDevNames   = NULL;
        pd.Flags       = PD_RETURNIC;
        pd.nCopies     = 1;
        pd.nFromPage   = 1;
        pd.nToPage     = 1;
        pd.nMinPage    = 1;
        pd.nMaxPage    = 1;

        PrintDlg(&pd);
        DWORD dw = CommDlgExtendedError();

        char* temp;

        switch(dw)
        {
        case CDERR_DIALOGFAILURE        : temp = "CDERR_DIALOGFAILURE";
        case CDERR_FINDRESFAILURE       : temp = "CDERR_FINDRESFAILURE";
        case CDERR_INITIALIZATION       : temp = "CDERR_INITIALIZATION";
        case CDERR_LOADRESFAILURE       : temp = "CDERR_LOADRESFAILURE";
        case CDERR_LOADSTRFAILURE       : temp = "CDERR_LOADSTRFAILURE";
        case CDERR_LOCKRESFAILURE       : temp = "CDERR_LOCKRESFAILURE";
        case CDERR_MEMALLOCFAILURE      : temp = "CDERR_MEMALLOCFAILURE";
        case CDERR_MEMLOCKFAILURE       : temp = "CDERR_MEMLOCKFAILURE";
        case CDERR_NOHINSTANCE          : temp = "CDERR_NOHINSTANCE";
        case CDERR_NOHOOK               : temp = "CDERR_NOHOOK";
        case CDERR_NOTEMPLATE           : temp = "CDERR_NOTEMPLATE";
        case CDERR_REGISTERMSGFAIL      : temp = "CDERR_REGISTERMSGFAIL";
        case CDERR_STRUCTSIZE           : temp = "CDERR_STRUCTSIZE";
        }

        MessageBox(NULL, temp, "error", MB_OK);

        return 0;
}
//---------------------------------------------------------------------------

huw

mercredi 26 janvier 2005 à 16:07:39 | Re : boite de dialog d'impression qui ne veut pas s'afficher

ymca2003

faudrai aussi mettre un break à la fin des case sinon tu aura toujours le même message (le dernier de la liste).
mercredi 26 janvier 2005 à 16:14:51 | Re : boite de dialog d'impression qui ne veut pas s'afficher

hrp

ok c'est fait (merci)

malheureusement mon problème n'est toujours pas résolu :( -> message afficher  "CDERR_STRUCTSIZE"

voilà mon code (en entier):

//---------------------------------------------------------------------------
#include <windows.h>
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
        PRINTDLG pd;
        HWND hwnd;
        hwnd = 0;

        // Initialize PRINTDLG
        ZeroMemory(&pd, sizeof(pd));
        pd.lStructSize = sizeof(pd);
        pd.hwndOwner   = hwnd;
        pd.hDevMode    = NULL;
        pd.hDevNames   = NULL;
        pd.Flags       = PD_RETURNIC;
        pd.nCopies     = 1;
        pd.nFromPage   = 1;
        pd.nToPage     = 1;
        pd.nMinPage    = 1;
        pd.nMaxPage    = 1;

        PrintDlg(&pd);
        DWORD dw = CommDlgExtendedError();

        switch(dw)
        {
        case CDERR_DIALOGFAILURE        : MessageBox(NULL, "CDERR_DIALOGFAILURE", "error", MB_OK);  break;
        case CDERR_FINDRESFAILURE       : MessageBox(NULL, "CDERR_FINDRESFAILURE", "error", MB_OK); break;
        case CDERR_INITIALIZATION       : MessageBox(NULL, "CDERR_INITIALIZATION", "error", MB_OK); break;
        case CDERR_LOADRESFAILURE       : MessageBox(NULL, "CDERR_LOADRESFAILURE", "error", MB_OK); break;
        case CDERR_LOADSTRFAILURE       : MessageBox(NULL, "CDERR_LOADSTRFAILURE", "error", MB_OK); break;
        case CDERR_LOCKRESFAILURE       : MessageBox(NULL, "CDERR_LOCKRESFAILURE", "error", MB_OK); break;
        case CDERR_MEMALLOCFAILURE      : MessageBox(NULL, "CDERR_MEMALLOCFAILURE", "error", MB_OK); break;
        case CDERR_MEMLOCKFAILURE       : MessageBox(NULL, "CDERR_MEMLOCKFAILURE", "error", MB_OK); break;
        case CDERR_NOHINSTANCE          : MessageBox(NULL, "CDERR_NOHINSTANCE", "error", MB_OK); break;
        case CDERR_NOHOOK               : MessageBox(NULL, "CDERR_NOHOOK", "error", MB_OK); break;
        case CDERR_NOTEMPLATE           : MessageBox(NULL, "CDERR_NOTEMPLATE", "error", MB_OK); break;
        case CDERR_REGISTERMSGFAIL      : MessageBox(NULL, "CDERR_REGISTERMSGFAIL", "error", MB_OK); break;
        case CDERR_STRUCTSIZE           : MessageBox(NULL, "CDERR_STRUCTSIZE", "error", MB_OK); break;
        }
        return 0;
}
//---------------------------------------------------------------------------



huw

jeudi 27 janvier 2005 à 05:03:18 | Re : boite de dialog d'impression qui ne veut pas s'afficher

racpp

Administrateur CodeS-SourceS
Salut,
Je viens de tester ton code et ça affiche bien la boite de dialogue d'impression. Le problème est surement ailleurs. Vérifie ton système et assure-toi que le pilote de l'imprimante est bien installé.



Cette discussion est classée dans : impression, boite, dialog, hinstance, pd


Répondre à ce message

Sujets en rapport avec ce message

impression, définition des marge dans une boite de Dlg [ par daya ] je cherche à créer une boite de dialgue pour définir les marges des pages d'impression, j'ai cherché autour de la classe CPageSetupDialog, mais je n'a impression, définition des marges dans une boite de DLG [ par daya ] je cherche à créer une boite de dialgue pour définir les marges des pages d'impression, j'ai cherché autour de la classe CPageSetupDialog, mais je n'a boite de dialog plein ecran [ par Bob32 ] Comment faire pour afficher une boite de dialog en plein ecran directement?Bob Saisie clavier dialog box [ par adrod ] Petite question, j'ai une boite de dialogue avec à l'intérieur des boutons et une vue openGL. Comment saisir par exemple les flêches du clavier sans q Pb avec l'affichage dans un dialog [ par marcel6566 ] VC++6 - MFCJ'ai créé une boite à dialogue lié à la class CIMAGE et je voudrais afficher l'image IDB_BITMAP1 dedans.J'ai défini CBitmap image;J'ai rajo Comment changer la couleur d'une boite de dialog [ par LordDaedalus ] BonjourJe voudrais changer la couleur du fond d'une boite de dailogue (CDialog) de façon à ce qu'elle s'affiche au démarrage avec du bleu par exemple. affichage d'un boite de dialog avec un bouton d'une autre boite de dialog [ par Zaz16 ] Bonjour,Je travaille avec VisualC++ 6.0 et les classes MFC.J'ai une boite de dialog "A" où on peut entrer un certain nombre de données, dont un bouton Ouvrir Boite de Dialog sans rendre la main [ par glipper ] Bonjour,Je voudrais qu'une de mes fonctions de mon programme ouvre une boite de dialog, mais tout en continuant à s'executer... pour le moment, lorsqu Que des Dialog Box en MFC [ par adrod ] J'aimerais faire un programme composé uniquement de boites de dialogues qui se succèderaient les unes après les autres sachant qu'il y aura une partie VC++ CTabCtrl et boite de dialog [ par mortiis ] Bonjour à tous Je fais une application et j'utilise un controle CTabCtrl je réussi à avoir mes onglets avec la ligne m_cTab.InsertIt


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales