begin process at 2012 05 30 18:17:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Divers

 > 

Taille d'un CView pour impression A4


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

Taille d'un CView pour impression A4

mardi 15 mars 2011 à 17:23:08 | Taille d'un CView pour impression A4

universaliss

Bonjour,
Je suis actuellement bloqué dans le développement d'un petit programme en mode SDI.

Je suis actuellement face à mon CView sur lequel je peux dessiner, une sorte d'ersatz de paint qui me permet de sauvegarder mes dessins et de les rouvrir.

Au moment de l'imprimer : SURPRISE !!!! le dessin est tout petit j'ai un problème de dimensionnement de mon CView surement dans le oninitialupdate() (peut être que je me trompe complètement...)

Je souhaiterai savoir qu'elle est la démarche pour pouvoir afficher un mon CView et avoir entièrement mais uniquement ma page a4 (voir a4 ou a5).

je pensais passer par une fonction du style :
GetParentFrame()->SetWindowPos(NULL,0,0,200,300,SWP_NOZORDER|SWP_NOMOVE);
mais d'une part les dimensions sont bien entendus mauvaises mais cela ne redimensionne que le frame "conteneur" qui en plus est étirable à volonté donc cela ne résout en rien le problème.

Pour simplifier je souhaiterai obtenir ma page à l'écran telle qu'elle sortira à l'imprimante.
Comment faire ? Quelles valeurs utiliser? quelle fonction?

Merci d'avance aux pro de la sdi ^^
mercredi 16 mars 2011 à 14:51:04 | Re : Taille d'un CView pour impression A4

ed73

Réponse acceptée !
Bonjour,

Il est normal que ton dessin soit tout petit sur l'imprimante si tu raisonnes en pixels. Il faut dessiner en fonction de la résolution de ta page, résolution qui peut varier selon l'imprimante ou sa configuration. L'idéal étant d'avoir le même code pour dessiner et pour imprimer en tenant compte de la taille et de la résolution de la page ou de l'écran.

Tu peux regarder les fonctions :

SetWindowOrg
SetWindowExt
SetViewportOrg
SetViewportExt
SetMapMode

La classe CDC implémente la méthode IsPrinting() qui peut te servir pour savoir si ton code est en train de dessiner ou d'imprimer.





mercredi 16 mars 2011 à 16:50:01 | Re : Taille d'un CView pour impression A4

universaliss

merci pour ta réponse mais ces fonctions ne me permettent pas d'arriver au résultat voulu (peut être que je les utilisent mal mais c'est pas encore ça)
ces fonctions m'ont permis de modifier l'orientation et le positionnement des axes de référence mais j'ai toujours le même petit résultat en impression donc j'ai fais machine arrière.
peut être devrai-je m'orienté vers :
OnPreparePrinting, on begin et on end printing
des fonction qui sont encore dépourvues de code ... mais qu'en faire?

De plus je n'arrive toujours pas a restreindre mon cview à une certaine dimension (une page a4) il est toujours infini...
toujours dans l'impasse...
Si quelqu'un a ne serait ce qu'un morceau de code qui dessine un cadre d'un format a4 ça serait idéal pour comprendre tout ça...
D'avance merci !
jeudi 17 mars 2011 à 09:51:22 | Re : Taille d'un CView pour impression A4

louis14

Bonjour,
Il faut chercher de l'aide sur MSDN pour la fonction IsPrinting() qui 'il faut utiliser dasn la fonction OnDrw() de ta CView.
Voilà un morceau de code que j'ai dasn un de mes projet:
if (pDC->IsPrinting())
{
rect.left = rect.top = 0;
rect.right = pDC->GetDeviceCaps(HORZRES);
rect.bottom = pDC->GetDeviceCaps(VERTRES);
m_Graph.SetPrintScale(pDC->m_hDC, rect);
}
else
GetClientRect(rect);

Bon codage


louis
jeudi 17 mars 2011 à 10:56:37 | Re : Taille d'un CView pour impression A4

universaliss

Réponse acceptée !
merci pour votre aide j'ai trouvé mon bonheur en tombant sur ce site :
Creating Single Document Interface Applications
ainsi que :
Printing With the Document/View Architecture, CDocument, CView
Ces sont tous les deux des tutoriaux bien détaillés qui mont permis de résoudre mes problèmes.
Si ça peut servir à quelqu'un d'autres....


Cette discussion est classée dans : impression, taille, actuellement, a4, cview


Répondre à ce message

Sujets en rapport avec ce message

Impression d'un TStringGrid [ par eagleseyes ] SalutJe cherche à imprimer un TStringGrid mais il me l'imprime à la taille de l'écran (tout petit sur un feuille A4) et tout le tableau d'un coup, du L'impression d'un objet de type Cview [ par eeabadr ] Bonjour à tous je veut savoir comment gérer l"impression à partir d'un objet de type Cview on dispose d'un ensemble de méthodes (OnPreparPrinting(),On Impression sans marges ? [ par steph12358 ] Bonjour, Voilà quelques temps déjà j'ai acheté une imprimante HP Photosmart Je cherche un moyen de sélectionner l'impression - au format A4 - haute Impression d'une image [ par eagleseyes ] Je fait un programme qui desine dans un objet TImage et je souhaiterais imprimer son contenu mais je me retrouve avec un dessin minuscule sur le papie Scroll qui ne fonctionne pas entierement [ par mogwai93 ] Bonjour J'ai une fenetre mère (hWndMainFrame), qui contient une fenetre fille (hWndScroll) avec un objet scroll à coté (hscr). Tout se passe bien, tan Taille ComboBox [ par Ziman ] Bonjour,je débute dans l'API WIN32 et je viens de me lancer dans l'insertion de ComboBox, en fait, tout va bien, j'arrive à ajouter des élément etc,.. recuperer taille menu en pxl suivant le systeme [ par gege1024 ] il y a qq temps j'ai trouvé la methode mais je ne m'en souviens plus.on lui passe en parametre ce qu'on veut recuperer (menu, bordure , ....) et elle API Windows récuperation de la taille d'une chaine pour ecrire [ par LouisJean ] Bonjour a tous je début en programmation. j'ai fait un peut en JAVA et maintenant DEV C++ Je n'arrive pas a faire marcher le «  GetTextExtentP Impression bitmap + texte (c++ builder 5) [ par bfespi69 ] Bonjour à tous, Je cherche à réaliser une impression particulière avec C++Builder 5. Je dois sur la feuille A4 qui sort de l'imprimante imprimer que taille inconnue pour une matrice [ par guardna ] Bonjour à tous, Je suis en train de faire un code simple pour trouver un mot soit dans la direction verticale ou horizontale dans une grille de mots


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,390 sec (3)

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