BruNews

cs_LDDL Messages postés 33 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 7 mars 2013 - 17 mai 2003 à 15:40
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 31 mai 2003 à 14:44
Probleme pour te remercier de ton poste, donc je le fait

ici.

j'espere que je vais m'en sortir :-)

++

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 mai 2003 à 15:53
bosse bien.
BruNews, ciao...
0
cs_LDDL Messages postés 33 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 7 mars 2013
24 mai 2003 à 14:29
Slt

J’ai un peu surestimer mes capacité, à vrai dire je ne sais pas ce qu’est le HDC d’imprimante et les autres commandes (printDlg, startPage, startdoc, etc...) me sont inconnues. Oui je sais c’est pas gagné !

Pour etre précis je voudrais faire une dll, qui imprime une image en fonction des données recues. (l’image a toujours la meme taille et la meme place sur la feuille).

1er problème quel type de données dois je envoyé (numérique, binaire, exa...) pour être imprimable par la future commande que je ne connais pas encore.

Plus globalement si qu'un avait un piti bout de code en exemple, ca serait bienvenu car j'ai l'impression de ramer pour faire avancer un paquebot.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 mai 2003 à 14:37
t'es bien sur Windows ?
printDlg.Flags = PD_RETURNDC | PD_NOPAGENUMS | PD_NOSELECTION | PD_HIDEPRINTTOFILE;
printDlg.hwndOwner = hwnd;
if(!PrintDlg(&printDlg)) return 0;
HDC hdcPrn; if(NULL (hdcPrn printDlg.hDC)) {
MessageBox(hwnd, "Imprimante introuvable", szAppName, MB_ICONEXCLAMATION);
return 0;
}
avec ce genre de code, tu trouves hdc de imprimante.
Ensuite tu traces dessus avec fonctions GDI.
BruNews, ciao...
0
cs_LDDL Messages postés 33 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 7 mars 2013
25 mai 2003 à 14:54
Yes Sir je suis bien sous Windows
bref pour faire vite je te poste un piti exemple dit moi juste
si il faut beaucoup de modif par rapport a ca pour imprimer
une image. Sinon j'arrete car j'ai vraiment pas le niveau.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>

//FONCTION---------------------------------------------
main ()
{
//DECLARATION-------------------------------------
PRINTDLG pd;
DOCINFO di;
char* szMessage;

//INITIALISATION DES OCTECTS----------------------
memset (&pd, 0, sizeof(PRINTDLG));
memset (&di, 0, sizeof(DOCINFO));

// ???--------------------------------------------
di.cbSize = sizeof(DOCINFO);
di.lpszDocName = "Test";

// SUREMENT LE HDC POURQUOI 1 comme valeur--------
pd.lStructSize = sizeof(PRINTDLG);
pd.Flags = PD_PAGENUMS | PD_RETURNDC;
pd.nFromPage = 1;
pd.nToPage = 1;
pd.nMinPage = 1;
pd.nMaxPage = 1;

szMessage = 0;

if (PrintDlg (&pd))
{
if (pd.hDC)
{
if (StartDoc (pd.hDC, &di) != SP_ERROR)
{

// je présume qu'il faut agir par ici pour
// imprimer une image mais je ne sais pas quoi
// envoyer??

StartPage (pd.hDC);

TextOut (pd.hDC, 500, 1000, "HHH", 3);

EndPage (pd.hDC);

EndDoc (pd.hDC);

szMessage = "Printed.";
}
else
{
szMessage = "Could not start document.";
}
}
else
{
szMessage = "Could not create device context.";
}
}
else
{
szMessage = "Canceled or printer could not be setup.";
}

if (szMessage)
{
MessageBox (NULL, szMessage, "Imprimante", MB_OK);
}

return 0;
}
0

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

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 mai 2003 à 15:15
avec cela tu obtiens le hdc de default printer.
HDC getDefPrinterDC(HWND hOwner)
{
PRINTDLG pd;
memset(&pd, 0, sizeof(PRINTDLG));
pd.nCopies = 1;
pd.lStructSize = sizeof(PRINTDLG);
pd.hwndOwner = hOwner;
pd.Flags = PD_RETURNDC | PD_RETURNDEFAULT;
PrintDlg(&pd);
return pd.hDC;
}
Ne pas oublier DeleteDC(hdc); en sortie si tu as obtenu hdc valide.
pour le reste le principe y serait. Faut lire le Petzold qui explique tout cela parfaitement.
BruNews, ciao...
0
cs_LDDL Messages postés 33 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 7 mars 2013
31 mai 2003 à 14:40
Je te remercie Bruno

Juste une derniere info tu ne connaitrais pas un bouquin
qui explique les commandes d'impression.

J'ai achetais un bouquin de 900 pages et rien.

@+
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
31 mai 2003 à 14:44
Un bouquin ? ben le meilleur: Petzold.
http://perso.wanadoo.fr/persans-brunews/
tu prends CP5.zip et CP5Sources.zip
bouquin et sources(commentees french) complets.
BruNews, ciao...
0
Rejoignez-nous