print preview doesn't work !!!

I have implemented a print preview in my mdi-application. When the print preview is called the following OnDraw-function will be executed:

void CMyView::OnDraw(CDC* pDC)
{
  CString text=_T("This is a test");
  pDC->SetTextColor(RGB(255,0,0)); // or any other color
  pDC->SetBkColor(::GetSysColor(COLOR_WINDOW));
  GetClientRect(rect);
  pDC->DrawText(text,-1,rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
}

There is now a problem:
In print preview the text color will not be displayed !!!
The text string will always painted in black !!!

How can I change the color to that I want to have in print preview ?
I can debug the above code and the text color is the one I wanted to have but the screen shows always a black text !!!

Any ideas about that ?
LVL 1
atariAsked:
Who is Participating?
 
galkinConnect With a Mentor Commented:
When you display your document in print preview you are dealing with two device contexts. First is printer device context the secont is window DC. two members m_hDC and m_hAttribDC in MFC CDC class define these DCs. In spite of the fact you actually draw on preview window DC it has the same properties as printer DC. Since you are likely to be printing on b/w printer print preview window DC also uses only black and white.
0
 
atariAuthor Commented:
Thank you, I will try it with a color printer and then I hope that the print preview shows my text in color.

Cannot try it at once, so I will graduade you before.

Bye,
atari
0
All Courses

From novice to tech pro — start learning today.