您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 15天学习C语言Windows程序设计
-1-目录1.C语言Windows程序设计-第一天-第一个Windows程序.........................................-2-2.C语言Windows程序设计-第二天-ASCII与Unicode................................................-6-3.C语言Windows程序设计-第二天-宽字符和C语言.................................................-7-4.C语言Windows程序设计-第三天-Windows版printf..............................................-10-5.C语言Windows程序设计-第三天-属于自己的窗口................................................-12-6.C语言Windows程序设计-第四天-详解我的窗口(上).............................................-16-7.C语言Windows程序设计-第四天-详解我的窗口(中).............................................-20-8.C语言Windows程序设计-第四天-详解我的窗口(下).............................................-24-9.C语言Windows程序设计-第五天-回顾与反思........................................................-28-10.C语言Windows程序设计-第六天-GDI与设备环境................................................-29-11.C语言Windows程序设计-第七天-TextOut与系统字体..........................................-32-12.C语言Windows程序设计-第八天-滚动条................................................................-38-13.C语言Windows程序设计-第九天-GDI绘图基础....................................................-57-14.C语言Windows程序设计-第十天-响应键盘事件....................................................-67-15.C语言Windows程序设计-第十一天-使用鼠标........................................................-73-16.C语言Windows程序设计-第十二天-使用计时器....................................................-80-17.C语言Windows程序设计-第十三天-按钮类控件....................................................-88-18.C语言Windows程序设计-第十四天-窗口、编辑框样式........................................-98-19.C语言Windows程序设计-第十五天-文本输入框....................................................-99-20.C语言Windows程序设计--实战:png图片的解析与显示........................................-110--2-C语言Windows程序设计-第一天-第一个Windows程序在《Windows程序设计》(第五版)第一章的起步中,作者介绍了学习Windows程序设计的一些基本要求:1.能够从用户角度熟练的使用Windows;2.懂得如何使用C语言;3.安装好了Windows的开发环境.看起来要求并不算高(怎么样?一起来尝试下?)。笔者在这里决定使用VisualC++6.0作为开发环境,虽说在VisualStudio这个大家族中,VC++6早已被长江后浪推前浪,把VC++6推成了一个将近淘汰的环境,但是作者的机器实在是有点不够给力,启动VS2010时相对比较慢。总之,既然CharlesPetzold也假定我会用VisualC++6.0,那么我就用VC++6好了。·介绍Windows*Windows的历史:是的,你不用惊讶,Windows在这里就是指的微软(Microsoft)的那个操作系统,Windows的历史如果要详细介绍的话,我觉得可能要单开个随笔分类才行,所以这里就简略的介绍下,不过我还是建议你去搜索引擎查找下关于Windows的历史(如果你认为有必要的话)。1.1985年11月,Windows1.0正式推出;IBM与Microsoft共同开发,基于DOS系统,通过DOS来进行文件操作,当然,2.0、3.0也都是基于DOS的,直到Windows2000的发布,Windows才彻底的摆脱了DOS,成为真正独立的操作系统。2.1987年11月,Windows2.0推向市场;相对于1.0,2.0在界面上做了些改动,采用了重叠窗口。3.1990年5月,Windows3.0推向市场;支持Intel286、386、486微处理器的16位保护模式。4.1993年7月,WindowsNT投放市场;Windows家族中第一个支持Intel386、486、奔腾微处理器32位模式的版本。5.1995年8月,Windows95发布;一个混合的16位/32位Windows系统。6.1998年6月,Windows98进入市场;基于Windows95编写,对Windows95的改进。书的作者就将Windows介绍到这里(没办法,人家这本书就是1998年写好的),后来的Windows就更猛了,横扫桌面,Windows2000/2003/XP/Vista/2008/7/8...,都懂得。*Windows的优点:更加人性化?操作更简单?一定还有其他的优点。*工作原理的中心思想:动态链接概念即为Windows工作原理的中心思想,通过调用Windows自带的函数来实现在屏幕上显示文本与图形。函数通过动态链接库实现,.dll以及.exe的文件,在Windows98中,这些文件在\Windows\System子目录下,NT的在\WinNT\System或\WinNT\System32,NT以上放在\Windows\System32。·关于Windows编程*WindowsAPI:API,ApplicationProgrammingInterface,应用程序编程接口,WindowsAPI实际上也就是Windows提供的一些函数,通过对这些函数的调用完成应用程序的开发。*API文档:这份文档里介绍了Windows提供的已公开的所有API,你可以下载份离线的,或者去MSDN在线图书馆(MSDNLibraryOnline)查阅这份文档.上午的随笔暂时写到这里,感觉写的有点短,其实书上写了很多,仔细品味了好几遍,越品味越有种找不到重点的感觉,要是比着书上的句子抄,这博文岂不是太无味了,我想,这些Windows的背景知识对编程影响或许也不是很大,所以在这里就不啰嗦这些了。下午学习你的第一个Windows程序。-3-*我的第一个Windows程序,Hello,world!在CharlesPetzold的书中,作者首先回顾了下C语言在控制台下通过标准输入输出函数输出Hello,world!的程序,代码如下:#includestdio.hintmain(){printf(Hello,world!\n);return0;}同样,CharlesPetzold也给出了Windows版的Hello,world!(其实他给出的是Hello,windows98!),代码如下:#includewindows.hintWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow){MessageBox(NULL,TEXT(Hello,world!),TEXT(MessageBox),0);return0;}通过VisualC++6.0的文件--新建--工程,选择Win32Application创建一个空的项目,再在这个项目中新建一个文件,文件类型为C++SourceFile,文件以.c为扩展名,将上面的代码敲入或者复制粘贴到这个文件内容中,经过编译运行就可以得到一个对话框了,赶紧截图留念吧!在这个对话框中,有标题栏,标题栏的内容是MessageBox,对话框的内容为Hello,world!,还有一个确定按钮,而且,没有那个黑框框窗口,一切看起来都是那么美好,来一起看看这段Windows版的Hello,world!吧!*Windows版的Hello,world!代码注释**第一行#includewindows.h稍微有点C语音基础的都能明白,这是要包含windows.h这个头文件,也就说明,在下面的代码中,要用到这个头文件,如果我们将#includewindows.h这句去掉再进行编译看看会有什么情况:Compiling...HelloWorld.cd:\project\lwinc\helloworld\helloworld.c(3):errorC2061:syntaxerror:identifier'WinMain'd:\project\lwinc\helloworld\helloworld.c(3):errorC2059:syntaxerror:';'d:\project\lwinc\helloworld\helloworld.c(3):errorC2146:-4-syntaxerror:missing')'beforeidentifier'hInstance'd:\project\lwinc\helloworld\helloworld.c(3):errorC2061:syntaxerror:identifier'hInstance'd:\project\lwinc\helloworld\helloworld.c(3):errorC2059:syntaxerror:','d:\project\lwinc\helloworld\helloworld.c(3):errorC2059:syntaxerror:')'执行cl.exe时出错.意料之内的,报错了,第一条就是标识符WinMain错误,具体的细节暂时就不深究了,继续向下看。*关于windows.h头文件:在windows.h这个头文件中,实际上已经包含了若干的其他相关的头文件,用书上的话说,windows.h是个非常重要的包含文件,其中包含的其他比较重要的头文件有:■WINDEF.H基本数据类型定义■WINNT.H支持Unicode的类型定义■WINBASE.H内核函数■WINUSER.H用户界面函数■WINGDI.H图像设备接口函数不过我还是好奇windows.h到底包含了那些头文件,找到VC6的安装目录,打开Include文件夹,找到WINDOWS.H并打开,虽说看不太懂,但找#include关键词还是无压力的.除去上面的5个还有:■WINRESRC.H■EXCPT.H■STDARG.H■WINNLS.H■WINCON.H■WINVER.H■WINREG.H■WINNETWK.H■
本文标题:15天学习C语言Windows程序设计
链接地址:https://www.777doc.com/doc-1911636 .html