你有GIF的开发许可吗?PrecSubclassWindow 以及 MFC 中的 EOF
2009-02-21 20:00:10 来源:WEB开发网但是当你将控件与某个 CWnd 派生类的对象实例关联时,比如你的特殊列表框。你得调用 SubclassDlgItem 来实现,它又会调用SubclassWindow。 此时 MFC 会调用另一个特殊的虚函数——PreSubclassWindow。正是你在这里,你有机会做一些事情(比如改变样式)。
void CMyListBox::PreSubclassWindow()
{
// turn on owner-draw
ModifyStyle(0,LBS_OWNERDRAWFIXED);
}
事实上,PreSubclassWindow 是做这些工作的最佳场所,因为当你用 CreateEx 创建窗口时,MFC也会调用 PreSubclassWindow。换句话说,PreSubclassWindow 可以覆盖 了两种情况(不管是在对话框中创建还是单独创建)。因此,当你在 PreSubclassWindow 设置样式时,就不用再在 PreCreatWindow 中做同样的事了。
我正在程序中使用 CFile 类,我知道如何使用这个类来打开、写入和关闭文件,但不知道(这个很重要)如何在文件末尾(EOF)读文件。我处理了 CFileException::endOfFile,但得到一个无穷循环。
Alessandro Chiodo
这样做好像有点古怪,不是吗?我的意思是,当你读到文件末尾时,希望得到一个 end-of-file 异常,对吗?一个 endOfFile 异常有什么好吗?正如所看到的,MFC在这种情况下并不使用 CFileException::endOfFile。为了检查文件尾,可以测试实际读到的字节数是否小于所希望的字节数。
CFile file;
file.Open();
char mybuf[BUFSIZ];
UINT nread;
do (nread=file.read(buf, BUFSIZ)) {
...
// process nread bytes
} while (nread==BUFSIZ);
用这种方法好像有点奇怪,但我并不想规定这样做,只是说可以这样做。
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››开发一个自己的HTML在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
- ››开发者在App Store上赚的钱比在Android Market上多...
- ››开发者应深入学习的10个Android开源应用项目
- ››开发移动 Web Ajax 应用
- ››开发者眼中的iPhone与Android
- ››开发者或想使用的10个Android2.2新特性
更多精彩
赞助商链接