




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ××超市文件归档规定
- 校园生活的点滴记事类作文9篇
- 读西游记有感于成长之路读后感(15篇)
- 2025年法语TCF考试试卷:法语阅读理解与长篇文本分析
- 2025景观设计师(初级)职业技能鉴定模拟试题分析
- 2025年电工特种作业操作证考试试卷(电工电气工程合同管理咨询报告)
- 2025年电子商务师(初级)考试试卷:电商数据分析与预测建模试题
- 太空之旅的想象之旅小学想象作文14篇
- 2025年消防执业资格考试题库:消防救援队伍管理法规案例分析真题解析试卷
- 2025年保险从业资格考试保险法律法规与政策实务应用与案例分析试题
- 供暖管道焊接技术培训
- 滋补品店铺运营方案设计
- 2025年保密教育线上培训考试题库参考答案
- 安管员考试题库及答案
- 《屹立在世界的东方》课件
- 【博观研究院】中国口服维生素保健品市场分析报告(简版)
- T/CI 475-2024厨余垃圾废水处理工程技术规范
- T/CCT 011-2020干法选煤技术规范
- (高清版)DB62∕T 4730-2023 公路装配式石笼防护设计与施工技术规范
- 2024-2025 学年八年级英语下学期期末模拟卷 (深圳专用)原卷
- 内蒙古呼和浩特市实验中学2024-2025学年下学期七年级数学试卷
评论
0/150
提交评论