下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 vc

vc.ppt

vc

whitneyorfei
2013-12-26 0人阅读 举报 0 0 暂无简介

简介:本文档为《vcppt》,可适用于高等教育领域

网络编程**网络编程南京理工大学计算机学院主讲教师:吕建勇电子邮箱:lvjycomWindows应用程序操作系统计算机硬件之间的相互关系Windows应用程序操作系统计算机硬件之间的相互关系Windows程序运行原理与VC编程声卡发声显卡显示等鼠标移动键盘输入等声卡何时发何声显卡何时显示什么等鼠标坐标键盘输入何字符等(输入、输出)API关于API关于API在应用程序中要完成某个功能都是以函数调用的形式实现的同样应用程序也是以函数调用的方式来通知操作系统执行相应的功能的。操作系统所能够完成的每一个特殊功能通常都有一个函数与其对应也就是说操作系统把它所能够完成的功能以函数的形式提供给应用程序使用应用程序对这些函数的调用就叫做系统调用这些函数的集合就是Windows操作系统提供给应用程序编程的接口(ApplicationProgrammingInterface),简称WindowsAPI。如CreateWindow就是一个API函数应用程序中调用这个函数操作系统就会按照该函数提供的参数信息产生一个相应的窗口。关于消息及消息队列关于消息及消息队列操作系统能够将输入设备的变化上传给应用程序。如用户在某个程序活动时按了一下键盘操作系统马上能够感知到这一事件并且能够知道用户按下的是哪一个键操作系统并不决定对这一事件如何作出反应而是将这一事件转交给应用程序由应用程序决定如何对这一事件作出反应(消息响应)。关于消息及消息队列关于消息及消息队列操作系统是怎样将感知到的事件传递给应用程序的呢?这是通过消息机制(Message)来实现的。操作系统将每个事件都包装成一个称为消息的结构体MSG来传递给应用程序参看MSDN。MSG结构定义如下:typedefstructtagMSG{HWNDhwndUINTmessageWPARAMwParamLPARAMlParamDWORDtimePOINTpt}MSG关于句柄关于句柄句柄(HANDLE)资源的标识。操作系统要管理和操作这些资源都是通过句柄来找到对应的资源。按资源的类型又可将句柄细分成图标句柄(HICON)光标句柄(HCURSOR)窗口句柄(HWND)应用程序实例句柄(HINSTANCE)等等各种类型的句柄。操作系统给每一个窗口指定的一个唯一的标识号即窗口句柄。从变量的类型区分变量的用途从变量的类型区分变量的用途intx,yx=y=x和y既可以用来表示坐标点也可以用来表示宽度和高度还可以用来表示身高和体重。typedefintWIDTHtypedefintHEIGHTWIDTHxHEIGHTy好处:我们从变量的类型上就可以知道x和y是用来表示宽度和高度。WinMain函数WinMain函数Windows程序的入口函数intWINAPIWinMain(HINSTANCEhInstance,handletocurrentinstanceHINSTANCEhPrevInstance,handletopreviousinstanceLPSTRlpCmdLine,commandlineintnCmdShowshowstate)窗口的创建窗口的创建创建一个完整的窗口需要经过下面四个操作步骤:设计一个窗口类注册窗口类创建窗口显示及更新窗口。消息循环设计窗口类设计窗口类typedefstructWNDCLASS{UINTstyleWNDPROClpfnWndProcintcbClsExtraintcbWndExtraHANDLEhInstanceHICONhIconHCURSORhCursorHBRUSHhbrBackgroundLPCTSTRlpszMenuNameLPCTSTRlpszClassName}WNDCLASS窗口类的类型窗口类的类型在我们的程序中经常要用到一类变量这个变量里的每一位(bit)都对应某一种特性。当该变量的某位为时表示有该位对应的那种特性当该位为时即没有该位所对应的特性。当变量中的某几位同时为时就表示同时具有几种特性的组合。一个变量中的哪一位代表哪种意义不容易记忆所以我们经常根据特征的英文拼写的大写去定义一些宏该宏所对应的数值中仅有与该特征相对应的那一位(bit)为其余的bit都为。我们使用gotodefinition就能发现CSVREDRAW=xCSHREDRAW=xCSDBLCLKS=xCSNOCLOSE=x。他们的共同点就是只有一位为其余位都为。如果我们希望某一变量的数值既有CSVREDRAW特性又有CSHREDRAW特性我们只需使用二进制OR(|)操作符将他们进行或运算相组合如style=CSVREDRAW|CSHREDRAW|CSNOCLOSE。如果我们希望在某一变量原有的几个特征上去掉其中一个特征用取反(~)之后再进行与()运算就能够实现如在刚才的style的基础上去掉CSNOCLOSE特征可以用style~CSNOCLOSE实现。窗口过程函数窗口过程函数第二个成员变量lpfnWndProc指定了这一类型窗口的过程函数也称回调函数。回调函数的原理是这样的当应用程序收到给某一窗口的消息时(还记得前面讲过的消息通常与窗口相关的吗?)就应该调用某一函数来处理这条消息。这一调用过程不用应用程序自己来实施而由操作系统来完成但是回调函数本身的代码必须由应用程序自己完成。对于一条消息操作系统到底调用应用程序中的哪个函数(回调函数)来处理呢?操作系统调用的就是接受消息的窗口所属的类型中的lpfnWndProc成员指定的函数。每一种不同类型的窗口都有自己专用的回调函数该函数就是通过lpfnWndProc成员指定的。注册窗口注册窗口ATOMRegisterClass(CONSTWNDCLASS*lpWndClassclassdata)创建窗口创建窗口显示和更新窗口显示和更新窗口BOOLShowWindow(HWNDhWnd,handletowindowintnCmdShowshowstate)BOOLUpdateWindow(HWNDhWndhandletowindow)消息循环消息循环MSGmsgwhile(GetMessage(msg,,,)){TranslateMessage(msg)DispatchMessage(msg)}

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/16

vc

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利