15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Printing a CTreeView

Adam Partridge -- AdamP@abcsystems.com
Wednesday, July 10, 1996

MFC 4.1/WIN 95
I have a SDI app with a single view (a CTreeView).  I want the user to
be able to print and print-preview the CTreeView, my question is simple.
How do I do this?




satish_elnet@mail.cswl.com
Monday, July 15, 1996

[Mini-digest: 2 responses]

MFC 4.1/WIN 95
I have a SDI app with a single view (a CTreeView).  I want the user to 
be able to print and print-preview the CTreeView, my question is simple. 
How do I do this?

Its very simple to do.

Overide OnPrint function of CTreeView and do the following:-

YourView::OnPrint(CDC* pDC,CPrintInfo* pInfo)
{
        CClientDC dcScreen(NULL);
        pDC->SetMapMode(MM_ANISOTROPIC);
        //map 1 screen logical inch to 1 printer.
        pDC->SetWindowExt(dcScreen.GetDeviceCaps(LOGPIXELSX),
                dcScreen.GetDeviceCaps(LOGPIXELSX));

        pDC->SetViewPortExt(pDC->GetDeviceCaps(LOGPIXELSX),
                pDC->GetDeviceCaps(LOGPIXELSX));

        CPen pen(PS_SOLID,1,RGB(0,0,0));
        CPen* OldPen = pDC->SelectObject(&pen);

        SendMessage(WM_PAINT,(WPARAM)pDC->m_hDC);
        pDC->SelectObject(OldPen);
}

     The above code does what you needed.
     
     rgds,
     satish_elnet@cswl.com

-----From: Alberto Massari 

At 16.45 10/07/96 -0000, you wrote:
>MFC 4.1/WIN 95
>I have a SDI app with a single view (a CTreeView).  I want the user to
>be able to print and print-preview the CTreeView, my question is simple.
>How do I do this?

Override OnDraw in that way

void CMyView::OnDraw(CDC* pDC)
{
        if(pDC->IsPrinting())
        {
                GetTreeCtrl()->SendMessage(WM_PAINT,(WPARAM)pDC->m_hDC,0);
        }
}

        Alberto
----------------------------
    |\      _,,,--,,_
    /,`.-'`'   ._  \-;;,_
   |,4-  ) )_   .;.(  `'-'
  '---''(_/._)-'(_\_)    
------------------------------------------------------------------
Alby@MusArt.dist.unige.it is: 	Alberto Massari

Laboratorio di Informatica Musicale
D.I.S.T. Dipartimento di Informatica, Sistemistica e Telematica
Universita' di Genova
Via all'Opera Pia 13,
I - 16145 Genova ITALIA		http://MusArt.dist.unige.it/~alby/
------------------------------------------------------------------





| Вернуться в корень Архива |