看到牛人推荐,学习windows编程的读书顺序为:1. petzold的windows程序设计 2.孙鑫的<MFC深入详解> 3. 侯捷<深入浅出MFC>和<Inside visual c++> 4. 侯捷译<Win32多线程程序设计> 5.windows核心编程
petzold的这本巨著是学习windows编程最基础的东西了,太厚,不太好读。我对于windows下开发,真的不是熟悉,上学时只是学习了MFC,对于windows kernel有些了解,但是对于win32 API实在不了解,MFC虽然看了深入浅出,但是对于windows编程依旧是一知半解。
看完了前三章,对于windows的编程有了个大概的了解。第三章中,对于windows消息机制的描述很简单,也很到位。
早期Windows的大部分只实现了3个动态链接库。他们分别代表了windows的三个主要的子系统,即kernel, user和GDI. kernel包括16位的KRNL386.exe和32位的KERNEL32.DLL,负责操作系统那些传统的工作,包括内存管理,文件输入/输出,以及任务管理。User包括16位的User.exe和32位的User32.DLL, 负责所有的窗口管理。GDI包括16位的GDI.exe和32位的GDI32.DLL,这个就是图形设备接口,负责在屏幕或打印机上显示文本及图形。
2012.7.9
这本书太厚了,到今日才看完第五章了
GDI那部分中(5.6节),关于矩形裁剪,可以裁出蝴蝶样子,很好用
2012.7.31
第6章 键盘
系统消息队列是一个单独的消息队列,他被windows用来初步存储用户从键盘和鼠标输入的消息。当用户按下键盘时,Windows和键盘驱动程序将硬件扫描码转换为格式化消息。这些消息并不立即被放入应用程序消息队列,而是由Windows把这些消息存储在系统消息队列中。
第7章 鼠标
capture鼠标:当鼠标处于窗口之外时,怎么捕获鼠标?
第8章
WM_TIMER消息被放在正常的消息队列中,并和其他的消息一同排队等候处理。
第9章
这章主要讲述了按钮,控件颜色,静态控件,滚动条控件,编辑类控件,列表框类等控件的使用和原理
9.6.6 将文件目录写入列表框中
2012.8.27
第10章 资源
1. 图标,光标,菜单和对话框是相互关联的。他们都是Windows资源类型。资源是数据,他们通常被保存在一个程序的.exe文件中,但他们不可在执行程序的数据区。换句话说,资源不能在程序代码中用变量直接寻址,相反,Windows提供了函数来显示或隐式的把程序加载到内存中,返回一个句柄以供使用。
2. 资源包括:图标,鼠标指针,字符串,自定义资源,菜单,键盘加速键,对话框,位图。
3. Visual studio使用资源编译器RC.exe来编译资源。文本形式的资源脚本被转换成二进制格式,他是一个扩展名为.RES的文件。编译过的资源文件在LINK阶段和.OBJ及.LIB文件一起被指定。这就是资源如何被加入最终的.exe文件的过程。
4. 如果菜单和子窗口控件使用了同样的ID码,便可以通过检查lParam的值来区分它们。
2012.8.28
第11章 对话框
1. 当子窗口控件(按钮,滚动条等)被用于对话框时,对话框管理器主要负责与子窗口控件进行交互。有些消息不但由对话框管理器所处理,还要传递给我们自己写的程序中的某些函数,这种函数叫做对话框过程。
2. 对话框分为模态和非模态两种。系统模态对话框比较特殊,当处于这种对话框时,不能切换到其他程序的窗口。
3. 在C程序中,所有没有被引用的ID的值都是-1.
2012.8.30
4. AboutDlgProc函数是通过调用EndDialog来处理这两个WM_COMMAND消息的。
5. 11.1.11在对话框中绘图 11.1.13定义程序自己的控件
6. 注意公用对话框可以用来显示如我的电脑,颜色选择这类的东西
7. 对话框是一种资源文件,所以不能搞许多的线程。请看资源的定义!
第12章 剪贴板
这章中有关于如何实现copy,拷贝自己的实现的对象等内容
第一部分,基础部分终于读完了,太细了,写的,真是好。但是,我这么泛泛的看,只能是越来越头疼!神书呀,必须好好读读!
2012.8.31
第13章
1. 打印机打印比较麻烦,因为纸张的打印不像显示器显示,因为打印是实时的,而显示器可以不显示。
2. StartDoc,EndDoc,StartPage,StartPage.
2012.9.3
14章 位图和位块传输
一直对于图像是什么东西比较迷惑,这章好好看看!
1. Windows GDI位图:DDB,设备无关位图:DIB
2. 14.4.9在菜单中使用位图
3. 14.4.10椭圆形的位图
15章 DIB
1. DIB文件扩展名为bmp
2. 15.3.3 DIB与DDB之间的区别于联系。DIB可以使文件,DDB不可以是文件。
16 章调色板管理器
调色板就是画家调出想要使用的各种颜色,供作画使用。计算机调色板,也是供计算机绘图使用的各种颜色。
这章内容比较多,但没有仔细看。
2012.9.4
感觉windows GDI只是显示简单的图片和图形和文字的显示,如果要想显示复杂一点的动画,还是使用openGL和DirectX和flash等技术吧!
2012.9.4