第3章 Windows编程基础.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:73 大小:1.9MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第3章 Windows编程基础.ppt

第3章Windows编程基础.ppt

预览

免费试读已结束,剩余 63 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章Windows编程基础本章导读本章主要内容3.1事件驱动与windows消息系统Windows消息Windows消息系统编写Windows应用程序必须首先了解以下内容:(1)窗口的概念(2)事件驱动的概念(3)消息(4)句柄一个应用程序的窗口一般包含下列组成部分:窗口是由应用程序创建的一个用于接收用户输入和显示输出的矩形区域。是系统管理应用程序的基本单位。窗口由“非客户区”和“客户区”组成。非客户区由系统绘制,包括菜单、工具栏、最大化按钮等。客户区由应用程序绘制,用于输出数据和接受用户的输入。编写一个Windows应用程序首先应创建一个或多个窗口,随后应用程序的运行过程即是窗口内部、窗口与窗口之间、窗口与系统之间进行数据处理与数据交换的过程。Windows程序设计是针对事件或消息的处理进行。消息驱动机制3消息消息的结构定义:typedefstructtagMSG{HWNDhwnd;接收消息的窗口句柄,为null,则可检索所有驻留在消息队列中的消息UINTmessage;消息值,由Windows.h头文件中的宏定义来标识WPARAMwParam;32位消息的附加信息wParam和lParam,不同消息其值有所不同LPARAMlParam;DWORDtime;指定消息送至队列的时间POINTpt;指定消息发送时屏幕光标的位置,其数据类型POINT是一个结构体}MSG;常用句柄类型及其说明(1)WinMain函数开始执行WindowsAPI编程举例WinMain()函数//创建窗口hwnd=CreateWindow("SDKWin",//窗口类名"实验1——Windows编程基础",//窗口标题WS_OVERLAPPEDWINDOW,//窗口样式CW_USEDEFAULT,//窗口最初的x位置CW_USEDEFAULT,//窗口最初的y位置CW_USEDEFAULT,//窗口最初的x大小CW_USEDEFAULT,//窗口最初的y大小NULL,//父窗口句柄NULL,//窗口菜单句柄hInstance,//应用程序实例句柄NULL);//创建窗口的参数ShowWindow(hwnd,nCmdShow);//显示窗口UpdateWindow(hwnd);//更新窗口,包括窗口的客户区while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);//转换某些键盘消息DispatchMessage(&msg);//将消息发送给窗口过程,这里是WndProc}returnmsg.wParam;}窗口函数WndProc()caseWM_COMMAND://命令消息,控件产生的通知代码在wParam的高字中if(((HWND)lParam==hwndButton)&&(HIWORD(wParam)==BN_CLICKED)){//按下按钮//获取编辑框控件的内容,并将其转换成float数值GetWindowText(hwndEdit,strEdit,80);//获取编辑框内容k=0;m=0;for(j=0;j<80;j++){if(strEdit[j]==','){k++;m=0;}else{strA[k][m]=strEdit[j];m++;}}for(i=0;i<3;i++)a[i]=(float)atof(strA[i]);//将字符串转换成float数值intn=GetRoot(a[0],a[1],a[2],root);//调用GetRoot函数,计算方程根if(n<1)strcpy(str,"方程无根!");elsesprintf(str,"方程的解为:%f,%f",root[0],root[1]);InvalidateRect(hwnd,NULL,TRUE);}caseWM_PAINT:hdc=BeginPaint(hwnd,&ps);strcpy(strHint,"请输入一元二次方程的3个系数,中间用逗号分隔");TextOut(hdc,10,40,strHint,strlen(strHint));TextOut(hdc,10,90,str,strlen(str));EndPaint(hwnd,&ps);return0;}returnDefWindowProc(hwnd,message,wParam,lParam);}3.4MFC概述3.4.1MFC简介3.4.2MFC类的层次结构和常用类非CObject派生类3.5MFC应用程序框架