首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

:Visual C++基础有关问题

2012-01-29 
求助:Visual C++基础问题!下面的代码总是不确定到底代表什么意思,请大家帮忙给点注释.1.InvalidateRect(NU

求助:Visual C++基础问题!
下面的代码总是不确定到底代表什么意思,请大家帮忙给点注释.
1.
InvalidateRect(   NULL,   TRUE   );//
UpdateWindow();//
2.CFile   cf;
if(   !cf.Open(   pszFilename,   CFile::modeRead   )   )
return(   FALSE   );//
CFile::modeRead   是什么意思?
3.CFile::Read()和CFile::Write()函数实现什么功能?
看MSDN也看不懂,请大家帮忙!






[解决办法]
InvalidateRect:
第一个参数是要刷新的窗口
第二个参数是是否要刷新
[解决办法]
2、CFile::Open的第二个参数是打开的标志,定义了文件打开的共享和访问模式。
CFile::modeRead以读的方式打开文件,不能写文件
[解决办法]
InvalidateRect( NULL, TRUE );//
UpdateWindow();//
===============================
刷新窗口,相当于发送了一个WM_PAINT消息,会导致OnDraw函数被调用.
CFile::modeRead 是什么意思?
============================
说明创建的文件是可读的文件.
CFile::Read()和CFile::Write()
=================================
这不就是读文件和写文件吗?
[解决办法]
1.
InvalidateRect( NULL, TRUE );//
UpdateWindow();//
当窗口需要重新绘制的时候,并不是全盘重画,而是有个无效区域的概念。比如有个窗口被另外一个窗口挡住一半,这时候,被遮住的那一半就是无效区域,当它被切换到前台的时候,会被重画,但是没有被遮住的那一半,将不会被重画。这么做是为了提高效率。
所以,如果想强制重画窗口的某一部分或者整体,就要人为地让某一块区域变成无效区域,而这个工作就由 InvalidateRect来完成,与之相似的还有 InvalidateRgn。
但是单单让窗口无效,并不会引起窗口重画,所以,随后要调用UpdateWindow,它的作用就是立即发送一个WM_PAINT给窗口。

2.CFile cf;
if( !cf.Open( pszFilename, CFile::modeRead ) )
return( FALSE );//
CFile::modeRead 是什么意思?
CFile::modeRead是定义在 CFile类中的一个常量。在这里表示以只读的方式打开,与之类似的还有CFile::modeReadWrite CFile::modeWrite等等,在MSDN里有详述。
3.CFile::Read()和CFile::Write()函数实现什么功能?
看MSDN也看不懂,请大家帮忙!
这个上面说的基本上比较详细了,cf.Read(pFile,dwFileSize)表示从打开的文件里读取 dwFileSize个字节到 pFile这个数组里。

热点排行