Impression d'une fenêtre

cs_Nasman Messages postés 202 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 29 septembre 2008 - 5 juin 2007 à 09:30
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 5 juin 2007 à 16:50
Bonjour,

Je suis à la recherche des méthodes à employer pour permettre d'imprimer une fenêtre graphique sur une imprimante sélectionnée. Je n'ai pas de problèmes pour imprimer directement un dessin sur l'imprimante avec les fonctions GDI mais je dois spécifier en dimensions logiques de l'imprimante.

Le programme dessine dans la fenêtre graphique (Begin Paint + Rectangle +...) et je souhaite:
- soit détourner les séquences d'instructions vers l'imprimante
- soit copier l'image de la fenêtre vers l'imprimante (genre de copie d'écran AltGr+PrtSc)

Jusqu'à maintenant les impressions de fenêtre sont de taille minuscule en raison je pense des différences entre les unités logiques de l'écran et celles de l'imprimante.

Si vous savez comment faire, je suis preneur.

Merci

Nb: Cette demande concerne la programmation Windows

4 réponses

BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
5 juin 2007 à 12:40
0
_dune2_ Messages postés 141 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 20 avril 2011
5 juin 2007 à 14:42
Salut,

Est-ce vraiment une question d'assembleur ?
Je rangerai plutôt cela dans la catégorie API Windows ....
(qui concerne autant l'ASM que le C, C++ et autre pour faire appel à l'API Windows).

D'ailleurs je pense qu'il serait judicieux de créer une section "API Windows" plus généraliste que ASM, C, C++ ou C#. Cette section permettrait de faire profiter les réponses sur les paramètres des appels à l'API Windows à tous les développeurs Windows et ce, quelque soit le langage utilisé ...

dune2.

Gentoo... que du bonheur ...
0
cs_Nasman Messages postés 202 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 29 septembre 2008 3
5 juin 2007 à 14:56
Bonjour Brunews,


J'avais déjà consulté les sources citées en référence mais je n'ai pas trouvé l'information pertinente. J'ai essayé de créer un hDC de la fenêtre avec GetWindowDC et mettre la valeur retournée comme paramètre de StretchBlt mais celà ne fonctionne pas - je pense que le format de l'image n'est pas compatible avec cette fonction. J'ai essayé également en faisant CreateCompatibleDC mais sans succès. Je pense qu'il y a peut-être quelque chose à faire du côté de SetViewPortExtEx ou SetWindowExtEx.
Bref, je nage...

Si une bonne âme connait la procédure à suivre...

Merci d'avance
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
5 juin 2007 à 16:50
Regarde dans onPrint(HWND hwnd) de:
http://www.cppfrance.com/code.aspx?id=24388
comment je calcule le rectangle d'impression, pourra peut-etre t'aider.
Sinon j'ai d'anciens progs qui impriment des images que je pourrai regarder ce soir en rentrant.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous