VC 和 MFC 的一些常见问题
2007-03-30 21:32:12 来源:WEB开发网核心提示: 当前,MFC并不支持直接读取和显示DIB文件和BMP文件,VC 和 MFC 的一些常见问题(2),然而,有很多样例应用程序能够说明如何完成该项任务,在类ClikethisView中声明如下函数:virtual void OnInitialUpdate();在ClikethisView的代码
当前,MFC并不支持直接读取和显示DIB文件和BMP文件。然而,有很多样例应用程序能够说明如何完成该项任务。第一个例子是MFC样例程序DIBLOOK。样例MULTDOCS用DIBLOOK提供的相同源代码来读取并显示DIB文件和BMP文件。其他两个VC++中附带的例子是SDK软件包中的DIBVIEW程序和SHOWDIB程序。
如何改变一个视图的大小?
通常,你可以调用函数MoveWindow()来改变窗口的大小。在用MFC库开发的应用程序中, 视图是被框架窗口所围绕的一个子窗口。为了改变一个视图的大小,你可以通过调用函数GetParentFrame()来得到框架窗口的指针,然后调用函数MoveWindow()来改变父窗口的大小。当父框架窗口改变大小时,视图也会自动地改变大小来适应父窗口。
如何改变一个CFormView的大小?
要想详细了解的话,你可以看有关Visual C++基础知识的文章Q98598 《Using CFormView in SDI and MDI Applications》。基本上,在从CFormView类派生出来的类中,你必须覆盖函数OnInitialUpdate()。其他有关建立CFormView的细节问题,可以从该文章中获得。
在类ClikethisView中声明如下函数:
virtual void OnInitialUpdate();
在ClikethisView的代码中,函数如下:
void ClikethisView::OnInitialUpdate()
{
//使窗口与主对话框同样大小
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit( /*FALSE*/ );
}
如何使用一个文档模板的新视图?
在用AppWizard创建的应用程序中,你有两种选择:改变当前视图的派生关系或者建立一个新视图并且在你的MDI程序中同时利用新视图和原先的视图。
更多精彩
赞助商链接