我正在阅读希洛教程系列Developing C++ Applications for Windows 7;看起来很有意思。
哪些现代书籍详细介绍了为Windows 7开发基于C ++的应用程序?它应该展示如何利用Windows 7的功能并基于“现代”C ++(模板,Unicode等)。不寻找旧学校Petzold或MFC类型的书(对不起)。还应该具有本机代码开发功能(即没有Qt- / wx类型的第三方库)。第三方图书馆似乎至少落后了一代,并且似乎没有利用最新功能(例如Ribbon,Animation等)。
答案 0 :(得分:6)
我建议你确保你熟悉winprog.org/tutorial中的理论,然后是Ivor Horton的书(下面),然后最后查看WTL库。
Hilo文章中功能区代码的示例使用windows API,它依赖于COM对象来创建功能区。像CComPtr这样的ATL结构管理功能区对象和接口的生命周期。
因此,我建议您确保了解编写COM客户端代码的基础知识 - 例如您应该了解CoCreateInstance,QueryInterface和智能指针。 ATL Internals(在亚马逊上搜索)是COM的重要参考,但它很重要。
WTL包含了创建功能区并访问它的细节,但是WTL是为寻找窗口API的COM程序员编写的,因此如果您没有使用ATL进行COM编程的经验,那么它就不是一个简单的API。
WTL支持最新的Windows功能,如色带等。不要指望有关于这个主题的任何书籍,没有任何。几年前M $开源的WTL,所以代码可以读取,所以你可以通过阅读代码来弄清楚一切是如何工作的。虽然它非常先进,但是在你先看看替代品后,你可能想看看它。
Google使用WTL作为Chrome的用户界面。
我怀疑你应该从Ivor Horton's beginning Visual C++ 2010开始,这将是一个很好的全面介绍。
如果您正在为Windows寻找一本优秀的编程书籍,那么你不能做得比windows via c/c++ by Jeff richter更好 - 到目前为止我买过的最好的Windows编码书。
如果您对WTL感兴趣,请查看代码项目的Michael dunn's series wtl for mfc programmers。
最后,没有一本书可以通过这一切来控制c ++ GUI开发人员,这是市场上的一个巨大差距。考虑到c ++的普及,我常常想知道为什么没人接受这个。
答案 1 :(得分:1)
我仍然认为Stroustrup的C ++编程语言是每个C ++程序员必读的(覆盖范围)。然后,添加Scott Meyers的Essential C ++ / STL系列,获取一些其他提示和建议。
答案 2 :(得分:0)
我不知道它是否仍然是“现代的”,但Modern C++ Design是模板和通用算法的绝佳资源。