- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
用WindowsC编写一个记事本程序
程序运行界面
—从C/C++到Windows编程
我们学习的C/C++程序都是DOS程序(或称为Windows控制台程序),也就是现在大学里的开设的《C/C++程序设计》的内容,这些程序由于不涉及到Windows编程的细节,因此比较容易入门学习,这对训练初学者的编程思想是很有用的,也是有益的。但是当我们基本掌握了C/C++程序设计后,就不能仅仅停留在DOS下(或Windows控制台下)编写、运行程序。我们应该从编程思想的训练到Windows实用编程的转变。
对于初学Windows编程的人来说,入门是难了一点,我们先介绍一个最简单的Hello程序开始,然后再介绍记事本程序。
#includewindows.h
intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow)
{
MessageBox(NULL,Hello欢迎使用TurboCforWindows集成实验与学习环境!,我的第一个Windows
程序,MB_OK);
return0;
}
程序的运行结果是:
程序解析:
1、windows.h是每一个Windows程序都需要的头文件。
2、WinMain函数是所有WindowsC程序的入口,类似于DOSC中的main函数。
3、MessageBox是一个Win32API函数(API,ApplicationProgrammingInterface应用程序接口),其作用是弹出一个对话框,显示消息的内容。该函数的第一个参数是用来指定父窗口句柄,即对话框所在的窗口句柄。第二个参数是用来显示消息的内容(你可以修改成你想显示的内容)。第三个参数是对话框标的标题,如本例的“我的第一个Windows程序”,第四个参数是指定对话框中显示的按钮,试一试,将MB_OK修改成MB_OKCANCEL,运行一下程序会出现什么结果,再试一试修改成MB_RETRYCANCEL
二、Windows程序简介
WindowsC程序的组成:
1.C程序源文件,扩展名为.c或.cpp2.头文件,扩展名为.h
3.资源文件,扩展名为.rc
源程序的组成结构
WindowsC程序有相对固定的基本结构,一般有入口函数WinMain和窗口函数。1、WinMain函数
是所有WindowsC程序的入口,类似于DOSC的main函数,其功能是完成一系列的定义和初始化工作,并产生消息循环。消息循环是整个程序运行的核心。
WinMain函数有三个基本的组成部分:函数说明、初始化和消息循环
a、WinMain函数的说明:
intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow)
参数说明:
hInstance 应用程序当前实例句柄
hPrevInstance 前一个实例句柄,在32位系统中该参数永远是NULLszCmdLine 程序运行时的命令行参数
iCmdShow 程序运行时的显示方式,如最大化、最小化、隐藏显示等。
b、初始化
初始化包括窗口类的定义、注册、创建窗口实例和显示窗口四部分。
这是固定格式,所有的Windows程序基本一样,记住即可,具体参见下面的程序实例的注释。
2、窗口函数
窗口函数定义了WindowsC程序对接受到的不同消息的响应,其中包含了应用程序对各种可能接收到的消息的处理过程,是消息处理分支控制语句的集合。通常窗口函数是有一个或多个switch语句组成。每一条case语句对应一种消息,当应用程序接收到一个消息时,就会执行相应case语句下的程序模块来完成相应的功能。
窗口函数说明:
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam)
参数说明:
hwnd 窗口句柄
message 代表所处理消息的消息值
wParam消息的附加参数,是message的进一步信息lParam消息的附加参数,是message的进一步信息一般用法:
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam)
{
...
switch(message)
{
case常数
文档评论(0)