Scaling with CWnd::Print()
Quang Ngo -- quang@psnw.com
Wednesday, September 11, 1996
Environment: Win95, VC++ 4.1
Hello everyone,
I'm never good at printing. I'm sure someone can help me with this
basic question. I'm trying to print the content of the CListCtrl
using the CWnd::Print() function. I call this function as follow:
void CMyView::OnDraw(CDC* pDC)
{
if (pDC->IsPrinting())
{
m_wndList.Print(pDC, PF_CLIENT);
...
}
....
}
This method works fine. However, since the mapping mode of pDC
is MM_TEXT the output on paper is really small. I believe I need
to change it to MM_ISOTROPIC for scaling. Futuremore, I need to
call SetWindowOrg(), SetViewportExt(), etc... to make it work.
I kept on trying but never got it to work.
Could someone show me how to scale it 2 times larger?
Thanks in advance,
-Quang (quang@psnw.com)
Dean Henkel -- Dean_Henkel@mixcom.com
Friday, September 13, 1996
Quang,
You are correct in using MM_ISOTROPHIC for the mapping mode and
using SetViewPort() etc. My code looks like this:
int nPageWidth = pDC->GetDeviceCaps(HORZRES);
int nPageHeight = pDC->GetDeviceCaps(VERTRES);
pDC->SetMapMode(MM_ISOTROPIC);
pDC->SetWindowExt(nPageWidth,nPageHeight);
pDC->SetViewportExt(nPageWidth,nPageHeight);
The problem is that the above doesn't work the way I expected it
to. We HAD Microsoft Premier Support so I contacted Microsoft
on this problem. They said not to use Print(). It doesn't work
right and they know it. Maybe in the next release. I was told
by them to print out information "by hand" using the old print
methods.
Regards,
Dean
Black Cat wrote:
>
> Environment: Win95, VC++ 4.1
>
> Hello everyone,
>
> I'm never good at printing. I'm sure someone can help me with this
> basic question. I'm trying to print the content of the CListCtrl
> using the CWnd::Print() function. I call this function as follow:
>
> void CMyView::OnDraw(CDC* pDC)
> {
> if (pDC->IsPrinting())
> {
> m_wndList.Print(pDC, PF_CLIENT);
> ...
> }
> ....
> }
>
> This method works fine. However, since the mapping mode of pDC
> is MM_TEXT the output on paper is really small. I believe I need
> to change it to MM_ISOTROPIC for scaling. Futuremore, I need to
> call SetWindowOrg(), SetViewportExt(), etc... to make it work.
> I kept on trying but never got it to work.
>
> Could someone show me how to scale it 2 times larger?
>
> Thanks in advance,
> -Quang (quang@psnw.com)
| Вернуться в корень Архива
|