原创 MFC框架之我见(其实是笔记)

2009-4-4 00:09 2593 9 9 分类: 软件与OS


框架类里面完成完成窗口的注册 创建 显示 更新
在APP中建立一个框架类的指针,在init中 使用这些函数,并run消息
使用m_pCurrentApp指向APP的this指针
//////////////////窗口形状//////////////////////////
在单文档视图结构里面的precreatewindow()函数,在创建窗口的前一刻被调用,这个函数可以
重载来对窗口的样式进行修改。它给出一个CREATESTRUCT结构变量,可以通过它来对窗口进行修改
//////////////////文件管理///////////////////////////
文档类(尤其是单文档)里面对数进行初始化的的时候是在OnNewDocument里面,当程序启动的时候或者
选择新建的时候,APP类的ONFILENEW调用OnNewDocument来完成,同理对于文档的清理是放在DeleteContents里面

当选择“打开”的时候,App类调用文档类的OnFileOpen,通过对话框输入文件名以后,调用APP的OpenDocumentFile
打开文件,APP打开文件之前首先调用DeleteContent来清理文档里面原有的数据
如果文档对应多个视图,可以使用
POSITION pos=GetFirstviewPosition()
*PView=GetNextView(pos);
如果类别比较多,可以使用IsKind()来判别是不是想要的类,没有的话pos为NULL
 ×××××××××××××××××××××××
 /////////////////////////窗口更新///////////////////////////
 见windows消息传递文档
 
 
在视图类中调用getdocument来获取文档类的指针,通过这个指针可以调用文档类的函数updateallviews()
这个函数来对所有的拆分视图进行更新。


更高效的对拆分窗口进行重绘
invalidatarect()这个函数第一个函数指定无效显示区,这个函数可以自动调用ondraw()函数对窗口进行
重绘

在使用pDoc->invalidatarect(Rect,FALSE)之后使用pDoc->UpdateAllViews(this)来更新其他的视图
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /1 下一条