我做的程序,在关闭打印预览后,在使用打印预览之前隐藏的工具条会显示显示出来。因为程序较大,工具条较多,工具条占了界面的一多半。我查看了CView类的OnFilePrintPreview和OnEndPrintPreview,发现MFC对视和框架都进行了较复杂的操作,而我在CView的继承类对一些对象(属于CPreviewView)无法操作,因为对象受保护,而CView却是CPreviewView的friend。我使用了一个很不规范的方法:在OnFilePrintPreview函数了纪录所有工具条的状态,在OnEndPrintPreview函数里还原工具条的状态。问题是解决了,但在关闭打印预览时本来隐藏的工具条会明显的闪现。
我的程序是在VC6.0下做的,在vc.net2002下也存在这个问题,最近在vc.net2003下发现问题已解决了。
因为我的程序很大,移植到2003比较麻烦,希望各位大虾帮忙!