文档详情

windows编程复习.ppt

xin****828
实名认证
店铺
PPT
333.87KB
约38页
文档ID:17785342
windows编程复习.ppt_第1页
1/38

复习 Windows程序框架 CUI程序 控制台模式,但可以调用 win32 API函数 GUI程序 图形控制模式,以消息驱动为基础 Windows窗口应用程序 Windows应用程序的结构有两个函数所组成, 一个是 WinMain函数,另一个称为窗口函数, 又称窗口消息处理程序 WinMain Windows CALLBACK Function Windows Function 消息驱动机制 Windows程序在初始化和创建应用窗口结束后,只 是在执行一个无限循环,坐等用户的输入消息(键 盘、鼠标 一旦用户输入事件发生, Windows就会收到相应的 消息并进行分析,然后发送给对应的应用程序 while (GetMessage ( DispatchMessage ( 消息结构 typedef struct tagMSG HWND hwnd ;//接收此消息的窗口的代号 UINT message ;//消息,消息用一个无符号整数表示 WPARAM wParam ;//与当前消息有关的消息参数 LPARAM lParam ;//与当前消息有关的消息参数 DWORD time ;//消息在应用程序消息队列中出现的时间 POINT pt ;// 传递消息时,鼠标在屏幕上的位置 Windows窗口的建立过程 填写窗口类结构 窗口类结构描述窗口形状的结构体,用其定义该类 型的结构变量后,可表达一类结构相同的窗口。

每类窗口都有一个窗口处理函数,处理该类窗口上 的消息 Windows窗口的建立过程 窗口注册分类 填写完窗口类结构后,向 windows注册 一种是用户通过定义窗口类结构变量并注册生成 一种是系统内建的,直接使用,如编辑框 如果是子窗口,通常在 WinMain中注册,然后在窗 口函数中创建 Windows窗口的建立过程 窗口的创建 以注册完的窗口类为依据,通过 CreateWindow函 数创建窗口,该函数返回的是窗口的句柄 创建窗口时确定这个窗口的一些特征,注册窗口时 是确定一类窗口的特征 窗口创建只是根据窗口类结构在内存中分配了一块 空间,该空间存储了显示一个窗口所需的数据 窗口的显示 根据创建的窗口句柄显示窗口 Windows窗口常用消息 WM_CREATE WM_SIZE WM_PAINT Windows输出 客户区的绘制和更新 WM_PAINT消息 该消息通知窗口过程:必须绘制客户区,当发生如 下事件时,窗口过程会收到 WM_PAINT消息 用户移动窗口或者显示窗口时,窗口中先前被隐藏的区域重 新变成可见 用户改变窗口的大小 程序使用 ScrollWindows或者 ScrollDC函数滚动客户区的一 部分 程序使用 InvalidateRect或者 InvalidateRgn(不规则区域) 函数时 GDI简介 设备描述表 DC 所有输出 都要通过 GDI函数,当执行 GDI函数输出 时,可得到与设备无关的输出。

Windows系统中为每一个设备建立一个数据结构, 这个结构记录了设备输出时的详细要求,例如,输 出时文字的颜色,线条的宽度,画图的坐标 , 以及 输出时调用的驱动程序等 ,这个数据结构称为 设备描 述表,简称 DC 获得 DC句柄的方法 处理 WM_PAINT消息期间 通过 BeginPaint函数获得设备句柄, BeginPaint函 数会使整个客户区有效 BeginPaint函数必须与 EndPaint函数配对使用 在非 WM_PAINT消息处理期间 利用 GetDC(hWnd)取得窗口客户区的设备句柄 利用 GetWindowDC(hWnd)取得窗口的设备句柄 必须与 ReleaseDC(hwnd,hdc)成对使用 文字输出 格式化文本 wsprintf函数 TextOut函数 字体 用 GetTextMetrics来确定字体大小,信息存放于 TEXTMETRIC结构体变量中 滚动条 滚动条的使用 编程人员对滚动条的使用应该完成的工作 初始化滚动区的范围和地址 处理窗口函数的滚动条消息 更新滚动区内滚动滑块的地址 更改客户区的内容以回应对滚动条的更改 利用 SetScrollInfo 和 GetScrollInfo建立更好的 滚动条 滚动条消息 滚动条消息 单击滚动区会发送 WM_VSCROLL(供上下移动) 和 WM_HSCROLL(供左右移动)消息 消息中的 wParam参数指出了鼠标对滚动条进行的 操作,称为“通知码” ,在 WINUSER.H中以 SB开头 定义 SB_LINEUP SB_THUMBTRACK,SB_THUNMBPOSITION 图形输出 画线函数 LineTo 画直线。

Polyline和 PolylineTo 画一系列相连的直线 PolyPolyline 画多组相连的线 Arc 画椭圆线 PolyBezier和 PolyBezierTo 画贝塞尔曲线 图形函数 Rectangle画矩形 Pie 画部分椭圆,呈扇形 Chord画部分椭圆,呈弓形 画笔 画笔 通常利用设备描述表中的默认画笔进行画线,也可 以把预先设计好的画笔放入设备描述表中,然后用 其画线 Windows提供三种画笔: BLACK_PEN, WHITE_PEN,NULL_PEN 获取系统画笔: GetStockObject( WHITE_PEN) 设置设备描述表画笔: SelectObject( hdc,hPen); 画笔 画笔的建立 hPen=CreatePen(iPenStyle,iWidth,crColor) CreatePenIndirect( DispatchMessage ( 对话框函数 概念 窗口都要用窗口函数处理窗口消息,对话框也是一 种窗口,因此,对话框也要用窗口函数来处理进入 对话框的消息。

通常只处理 WM_INITDIALOG、 WM_COMMAND 两个消息 跟窗口函数不一样,对话框函数返回的是布尔值, 而窗口函数返回的是 LRESULT类型的值 资源描述文件 概念 资源描述文件中用模板描述应用程序用到的 资源,由于每个资源都要在模板中命名,因 此,应用程序就可以通过 .RC文件中模板提 供的名字来使用资源 myhouse I con H ouse.I CO 在磁盘上的 H ouse .ICO 文件 关键词 可在主程序中使用的图标名 。

下载提示
相关文档
正为您匹配相似的精品文档