2010-05-11 7 views
0

Dans une application MDI SDI contenant un seul CView, je transmets le contexte de périphérique de sortie pDC->m_hDC à une bibliothèque de mappage pour restituer la carte dans la méthode CMyView::OnDraw(). Je souhaite que l'image rendue apparaisse au centre de la vue entourée d'un arrière-plan noir, c'est-à-dire que la taille de l'image soit inférieure à la taille rectangle client CView. J'ai expérimenté avec CDC::SetViewportOrg() et définissez la taille du périphérique dans la bibliothèque de mappage, mais malheureusement la bibliothèque de mappage dessine en dehors du jeu de taille de périphérique.Limitation de la taille d'image rendue dans CView :: onDraw()

Quelle est la meilleure façon de limiter l'image à la taille désirée? Dois-je regarder les fonctions d'écrêtage? Ou dois-je manuellement dessiner sur les parties indésirables de l'image.

Répondre

1

Eh bien, vous pouvez le faire 2 façons.

1) Vous pourriez SetBoundsRect aux limites que vous voulez.
2) Vous pouvez juste mordre la section de l'image que vous voulez dans le DC.

La méthode 2 serait ma méthode préférée car il n'y a pas de logique supplémentaire. Il essaye seulement de dessiner la partie que vous êtes en train de mixer :)

+0

Merci beaucoup. En fin de compte ma solution était de réduire la taille de la vue SDI (pas exactement ce que j'ai demandé, je sais). Cette page a été utile .: http://www.codeproject.com/KB/docview/SmallerSDIView.aspx – Ham

Questions connexes