Impression d'une fenêtre

Signaler
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
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

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Messages postés
141
Date d'inscription
mercredi 19 juillet 2006
Statut
Membre
Dernière intervention
20 avril 2011

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 ...
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
2
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
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
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++