版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,Windows编程技术,2,Windows概述,Windows的发展历史 P1 计算机发明 管理程序 操作系统雏形 UNIX Apple Lisa Windows,3,Windows概述,Windows的技术特点 P2 用户界面友好 抢先式多任务 安全性、稳定性 兼容性 多媒体功能 网络功能 面向对象 开发接口,4,Windows程序特点 P3,程序组成 程序代码 UI资源 Windows函数库 头文件 自定义的数据类型 CHAR字符类型128 127 SHORT短整类型32768 32767 WORD字类型0 65535 INT整型-231(231-1) BOOL布尔型FALSE、TRU
2、E LPCSTR字符串指针,5,Windows程序特点,句柄 Windows用来标识内部对象的整数 窗口句柄 等 Unicode ASCII字符编码的一个扩展 每个字符占用2个字节 匈牙利命名法 P6 命名规则 char szNameStudent16 常用的类型前缀 cchar类型 nshort类型 iint类型 bBOOL类型 sz以0结尾的字符串类型,6,Windows程序特点,Windows消息 消息驱动 消息的格式 P7 typedef struct tagMSG HWND hwnd; /目标窗口句柄 UINT message; WPARAM wParam; LPARAM lPara
3、m; DWORD time; POINT pt; MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;,7,Windows程序特点,Windows程序运行模式 P8,8,简单的Windows程序介绍,开始之前 #include /头文件 HINSTANCE hInst; / 当前实例 TCHAR szTitle=Windows编程技术01章01例; / 标题栏文本 TCHAR szWindowClass=EX0101; / 主窗口类名,9,简单的Windows程序介绍,WinMain函数 P9 int CALLBACK WinMain(HINSTANCE hInstance
4、, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) MSG msg; MyRegisterClass(hInstance); / 执行应用程序初始化: if (!InitInstance (hInstance, nCmdShow) return FALSE; / 主消息循环: while (GetMessage( ,10,简单的Windows程序介绍,注册窗口类 P11 BOOL MyRegisterClass(HINSTANCE hInstance) WNDCLASSEX wcex; wcex.cbSize = sizeof(
5、WNDCLASSEX); /窗口类占用内存大小 wcex.style= CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc= (WNDPROC)WndProc;/窗口函数指针 wcex.cbClsExtra= 0;/窗口类的额外字节数 wcex.cbWndExtra= 0;/ wcex.hInstance= hInstance;/本窗口类所属的应用程序 wcex.hIcon= NULL;/所使用图标的句柄 wcex.hCursor= NULL; /本程序所使用光标的句柄 wcex.hbrBackground= (HBRUSH)(COLOR_WINDOW+1);
6、/用于绘制窗口背景的刷子颜色 wcex.lpszMenuName= NULL; wcex.lpszClassName= szWindowClass; /本窗口类的名称 wcex.hIconSm= NULL; return RegisterClassEx( /向系统注册窗口类 ,11,简单的Windows程序介绍,建立窗口 BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) HWND hWnd; hInst = hInstance; / 将实例句柄存储在全局变量中 hWnd = CreateWindow(szWindowClass, szTi
7、tle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, 400, 250, NULL, NULL, hInstance, NULL); if (!hWnd) return FALSE; ShowWindow(hWnd, nCmdShow); /显示窗口 UpdateWindow(hWnd); return TRUE; ,12,简单的Windows程序介绍,窗口函数 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)/根据消息参数,来完成任务 switch
8、(message) case WM_PAINT: MyPrint(hWnd); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); return 0; ,13,窗口过程函数,窗口的过程函数,也称回调函数。回调函数的原理是这样的,当应用程序收到给某一窗口的消息时(还记得前面讲过的消息通常与窗口相关的吗?),就应该调用某一函数来处理这条消息。这一调用过程不用应用程序自己来实施,而由操作系统来完成,但是,回调函数本身的代码必须由
9、应用程序自己完成。对于一条消息,操作系统到底调用应用程序中的哪个函数(回调函数)来处理呢?操作系统调用的就是接受消息的窗口所属的类型中的lpfnWndProc成员指定的函数。每一种不同类型的窗口都有自己专用的回调函数,该函数就是通过lpfnWndProc成员指定的。,,14,窗口过程函数,举例:汽车厂家生产汽车好比应用程序创建窗口,用户使用汽车好比操作系统管理窗口,某种汽车在销售前就指定好了修理站(类似回调函数),当用户的汽车出现故障后(类似窗口收到消息),汽车用户(类似操作系统)自己直接找到修理站去修理,不用厂家(类似应用程序)亲自将车送到修理站去修理,但修理站还得由厂家事先建造好。,,15,简单的Windows程序介绍,窗口内的输出 void MyPrint(HWND hWnd) PAINTSTRUCT ps; HDC hdc; hdc = BeginPaint(hWnd, ,16,简单的Windows程序介绍,上机步骤 进入开发环境 新建项目 在对话框的“项目类型”栏选择“Visual C+项目”,在“模板”栏中选择“Win32项目”,在“位置”栏内输入欲建项目的地址,在“名称”栏内输入项目名称. 修改项目选项 首先选择“应用程序设置”栏,然后在“应用程序类型”栏
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省淮安市-重点中学2026年初三下第二次月考英语试题含解析
- 河北省石家庄二十二中学重点班达标名校2026届初三4月仿真训练语文试题试卷含解析
- 重庆市万州三中学2026年初三(下)月考试卷(二)英语试题含解析
- 浙江省绍兴市迪荡新区重点中学2026届下学期初三期末检测试题考试语文试题含解析
- 浙江省金华市兰溪二中学2026届初三高中英语试题竞赛模拟(二)英语试题含解析
- 挖机合伙合同范本
- 口腔护理效果评估指南
- 2026年房建工程盘扣式外脚手架施工方案设计
- 2026年寒暑假学生社会实践作业设计方案
- 2026年室内设计大学生终身学习理念与职业续航规划
- 3.1《一切靠劳动》课件 统编版道德与法治三年级下册
- 2026年中国移动转正考试试题
- 城关初中八年级地生中考模拟考试表彰暨冲刺动员大会上校长讲话
- 钢结构拆除专项施工方案(完整版)
- (一模)2026年深圳市高三年级第一次调研考试语文试卷(含答案解析)
- 市政道路工程安全生产应急救援预案范文
- 2026年咸宁职院单招试题及答案1套
- 雨课堂学堂在线学堂云《运动训练基本原理与方法(北京体育大学 )》单元测试考核答案
- 大理洱海保护课件
- 高校物资验收管理制度(3篇)
- 合并慢性肝脏疾病的血脂异常管理方案
评论
0/150
提交评论