摘要:本章主要介绍MFC中主要的视图类,这些继承自Cview类。 继承关系如上图所示。 滚动视图 CscrollView给Cview添加了基本的滚动功能,它包含WM_VSCROLL和WM_HSCROLL消息的处理程序,将设计滚动窗口的工作交由MFC来完成。 首先介绍一下基本概念,物理视图,指得是占据屏幕的
阅读全文
摘要:在视图应用程序中,应用程序的数据由文档对象代表,数据的视图由视图对象代表。MFC的Cdocument类是文档对象的基类,Cview类是视图对象的基类。应用程序的主窗口,其操作功能在MFC的CframeWnd和CMDIFrameWnd类中实现,已经不再以消息处理为工作焦点了,主要用作视图、工具栏以及其
阅读全文
摘要:对话框主要有两类,分为模式和无模式,它们的功能都被封装在了CDialog中。与对话框相近的是属性表,属性表实际上是具有制表页(TAB 页)的对话框,将对话框中控件更好的组织在一起。借助CpropertySheet和CpropertyPage类,MFC简化了属性表的处理。 模式对话框和无模式对话框 一
阅读全文
摘要:MFC中把线程分为两种类型,UI线程和工作者线程。 MFC中启动一个线程的最好方法是调用AfxBeginThread,有两个版本,一个用于启动Ui线程,另外一个用于启动工作者线程。在MFC程序中,只有在线程不使用MFC库时,才可以使用Win32的CreateThread函数来创建线程。AfxBegi
阅读全文
摘要:在绘制控件颜色时,控件会发送WM_CTLCOLOR消息给父窗口,父窗口收到消息后,映射到OnCtlColor()函数中处理。 该函数返回一个画刷用于设置子控件的背景颜色,子控件再执行自己的CtlColor函数。 这样的话我们就有两种方法设置控件的背景颜色。 一、在父窗口中设置子控件颜色 HBRUSH
阅读全文
摘要:一、 MFC中CFile对象实现了磁盘文档的读写,但是大部分MFC应用程序的IO服务都使用CArchive对象来完成。不管CFile和Archive输入输出的都是二进制数据,非文本数据。 int a = 0; CFile file(TEXT("log.txt"), CFile::modeCreate
阅读全文
摘要:MFC坐标系分为设备坐标系和逻辑坐标系两种。在设备坐标系中,一个像素表示一个单位长度,设备的原点(0,0)始终在显示平面的左上角位置,x轴正向向右,y轴正向向下。 逻辑坐标系中,原点可以放在任何一个位置,并且随着映射模式的变化,x轴,y轴方向以及缩放比例因子(一个逻辑单位的像素点数目)都会发生变化。
阅读全文