一、引用 当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图。应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一。 切分窗口分为动态切分窗口和静态切分窗口,它们都是由CsplitterWnd类(MFC类库)来... Read More
posted @ 2014-02-26 13:02
vranger
Views(853)
Comments(0)
Diggs(0)
C++ 通过以下几个类支持文件的输入输出:ofstream: 写操作(输出)的文件类 (由ostream引申而来)ifstream: 读操作(输入)的文件类(由istream引申而来)fstream: 可同时读写操作的文件类 (由iostream引申而来)打开文件(Open a file)对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件。被打开的文件在程序中由一个流对象(stream object)来表示 (这些类的一个实例) ,而对这个流对象所做的任何输入输出操作实际就是对该文件所做的操作。要通过一个流对象打开一个文件,我们使用它的成员函数open Read More
posted @ 2014-02-26 12:58
vranger
Views(1220)
Comments(0)
Diggs(0)
在MFC中设置控件的背景色、字体、字体颜色、标题等属性主要是利用OnCtlColor函数来实现。如:HBRUSH CAlarm::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);// TODO: Change any attributes of the DC here//设置静态控件的背景色和文本颜色if (pWnd->GetDlgCtrlID() == IDC_STATIC_SHOW_MSG){pWnd->SetWindo Read More
posted @ 2014-02-26 12:14
vranger
Views(4587)
Comments(0)
Diggs(0)
(一)UpdateAllViews() 与Invalidate()的区别UpdateAllViews()是在DOC/VIEW结构中,当一个视图的数据改变后,通知所有视图作相应的改变,和重画毫无关系。Invalidate()是使窗口无效,使系统向其发WM_PAINT消息,使的程序的OnPaint被调用重画客户区。而UpdateAllViews()是文档与视之间的联系,调用从它会使程序与此文档相关的所有视的UpdateView被调用至于是否重画以及怎么画是由各视的UpdateView来决定的。Invalidate()是Cwnd的成员函数,与DOC-VIEW无关;UpdateAllViews是CDo Read More
posted @ 2014-02-26 12:05
vranger
Views(2397)
Comments(0)
Diggs(0)
1. void Invalidate( BOOL bErase = TRUE );该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时Windows会在应用程序的消息队列中放置WM_PAINT消息。MFC为窗口类提供了WM_PAINT的消息处理函数OnPaint,OnPaint负责重绘窗口。视图类有一些例外,在视图类的OnPaint函数中调用了OnDraw函数,实际的重绘工作由OnDraw来完成。参数bErase为TRUE时,重绘区域内的背景将被擦除,否则,背景将保持不变。Inval Read More
posted @ 2014-02-26 11:40
vranger
Views(2453)
Comments(0)
Diggs(0)
问题问题:我在视图画的图象或者文字,当窗口改变后为什么不见了?OnDraw()和OnPaint()两个都是解决上面的问题,有什么不同?OnDraw()和OnPaint()好象兄弟俩,因为它们的工作类似。至于不见了的问题简单,因为当你的窗口改变后,会产生无效区域,这个无效的区域需要重画。一般Windo... Read More
posted @ 2014-02-26 10:35
vranger
Views(1452)
Comments(0)
Diggs(0)

浙公网安备 33010602011771号