阅读:2009回复:2
关于打印的一些问题
<P>我们在打印时候是都在PageLayout里的 但是我放的图是在MapControl里的 ,那么我是怎么把MapControl里的转到PageLayout里头打印呢 ??</P>
<P>各位路过的都来讨论下,希望你看完后能发表点意见.谢谢!~~ </P> |
|
1楼#
发布于:2006-12-15 09:09
<P>我是把MapControl里面的图层,加到PageLayout里面去的。另外也可以用MapControl来打印,办法是把你的打印机HDC告诉MapControl,让MapControl把图形绘制到打印机的HDC,这样就把图形打印出来了。 </P>
|
|
|
2楼#
发布于:2007-07-18 22:45
<P>试试 看</P>
<P>C# Code:<BR> IMap pMap;<BR> IPageLayoutControl pPageLayoutCtl;<BR> pPageLayoutCtl=(IPageLayoutControl)this.PLayoutCtl.Object;<BR> IDisplayTransformation pDisplayTrans;<BR> IObjectCopy pObjectCopy;<BR> pObjectCopy=new ObjectCopyClass();<BR> <BR> //得到地图的拷贝<BR> Object pCopiedMap;<BR> pCopiedMap=pObjectCopy.Copy(MapCtl.Map);<BR> pMap=MapCtl.Map;<BR> //地图重画<BR> IMap pToOverwriteMap;<BR> pToOverwriteMap=PLayoutCtl.ActiveView.FocusMap;<BR> Object pObj;<BR> pObj = (Object)pToOverwriteMap;<BR> pObjectCopy.Overwrite(pCopiedMap,ref pObj);</P> <P> double w,h;<BR> IActiveView pActiveView;<BR> pActiveView=(IActiveView)PLayoutCtl.ActiveView.FocusMap;<BR> pDisplayTrans=pActiveView.ScreenDisplay.DisplayTransformation;<BR> pDisplayTrans.VisibleBounds=MapCtl.ActiveView.Extent;<BR> PLayoutCtl.Page.QuerySize(out w,out h);<BR> pActiveView.Refresh();</P> |
|