Re: Hidden CView
Right after I posted the message I thought about this:
I can move the OnFilePrint from CDocument dervied class to the CView derived
class. There I can create the hidden CHtmlView in CView::OnInitialUpdate
and destory it in CView::DestroyWindow.
This might be safer.
The reason I had the printing in the Document class was because I have many
views that use this document, but they all print the same thing, and what is
being printed has nothing to do with what is being displayed in the view. I
can make a Common CView derived class that all the CView inherit from that
does the printing.
But please give your input on this.
AliR.
"AliR" <AliR@online.nospam> wrote in message
news:4450e5de$0$14891$a8266bb1@reader.corenews.com...
Hi Everyone,
I am creating a hidden CHtmlView, just so I can print it's content. It
works perfectly, but I am bit uncomfortable with it. I have a feeling
that
it's going to bite me later.
void LSActivityDoc::OnFilePrint()
{
//LSActivityPrintView inherits from CHtmlView
CRuntimeClass *pViewClass = RUNTIME_CLASS(LSActivityPrintView);
LSActivityPrintView * pView = (LSActivityPrintView
*)pViewClass->CreateObject();
CRect rect(0,0,0,0);
if (!pView->Create(NULL, NULL, WS_CHILD | WS_BORDER,
rect, ::AfxGetMainWnd(), (AFX_IDW_PANE_FIRST), NULL))
{
TRACE0( "Unable to create printing view\n" );
return;
}
pView->SendMessage(WM_INITIALUPDATE);
pView->Navigate2("www.yahoo.com");
while (pView->GetBusy())
{
//Yeild is simply a message pump.
((CLSEditorApp *)AfxGetApp())->Yeild();
}
pView->OnFilePrint();
//this is what I am uncomfortable about.
pView->DestroyWindow();
}
Since OnFilePrint returns immidately (brings up CPrintDialog, and then
prints) I am not sure if it is safe to call DestroyWindow as I am doing.
Any thoughts?
AliR.