WINDOWS用编程.pptVIP

  • 0
  • 0
  • 约5.34千字
  • 约 28页
  • 2017-05-15 发布于贵州
  • 举报
WINDOWS用编程

消息的获取 消息循环 GetMessage /PeekMessage从程序的消息队列当中,获取到消息。 TranslateMessage 检查获取到的消息,如果发现是按键消息,产生一个字符消息,并放入程序的消息队列。 DispatchMessage 根据消息,找到窗口处理函数,调用窗口处理函数,完成消息的处理。 消息的相关函数 TranslateMessage - 翻译消息。将按键消息,翻译成字符消息。 BOOL TranslateMessage( CONST MSG *lpMsg //要翻译的消息地址 ); 检查消息是否是按键的消息,如果不是按键消息,不做任何处理,继续执行。 DispatchMessage - 派发消息。将消息派发到该消息所属窗口的窗口处理函数上。 LRESULT DispatchMessage( CONST MSG *lpmsg //要派发的消息 ); 消息的相关函数 SendMessage - 发送消息,会等候消息处理的结果。 PostMessage - 投递消息,消息发出后立刻返回,不等候消息执行结果。 BOOL SendMessage/PostMessage( HWND hWnd,//消息发送的目的窗口 UINT Msg, //消息ID WPARAM wParam, //消息参数 LPARAM lParam //消息参数 ); 窗口处理函数 每个窗口都必须具有窗口处理函数。 LRESULT CALLBACK WindowProc( HWND hwnd, //窗口句柄 UINT uMsg, //消息ID WPARAM wParam, //消息参数 LPARAM lParam //消息参数 ); 当系统通知窗口时,会调用窗口处理函数同时,将消息ID和消息参数传递给窗口处理函数。 在窗口处理函数中,不处理的消息,使用缺省窗口处理函数,例如DefWindowProc。 Windows绘图 绘图相关 GDI - Windows graphics device interface, Win32提供的绘图API 绘图设备 DC(Device Context),HDC - DC句柄,表示绘图设备 颜色的使用 COLORREF - 实际DWORD,例如: COLORREF nColor = 0; 赋值使用RGB宏,例如: nColor = RGB( 255, 0, 0 ); 获取RGB值, GetRValue/GetGValue/GetBValue 例如: BYTE nRed = GetRValue( nColor ); Windows绘图 点的使用 GetPixel 获取指定点的颜色 COLORREF GetPixel( HDC hdc, // handle to DC int nXPos, // x-coordinate of pixel int nYPos // y-coordinate of pixel ); SetPixel 设置指定点的颜色 COLORREF SetPixel( HDC hdc,//DC句柄 int X,//X坐标 int Y,//Y坐标 COLORREF crColor //设置的颜色 ); 返回点原来的颜色 Windows绘图 线的使用(直线、圆形、弧线) MoveToEx - 移动 当前点 到 指定点 LineTo - 从当前点到指定点绘制一条直线 当前点:上一次绘图时的最后一点,初始为(0,0)点。 封闭图形 Rectangle Ellipse Windows绘图 文字颜色和背景 文字颜色 SetTextColor 文字背景色 SetBkColor 文件背景模式 SetBkMode …….. 总结 介绍了Windows程序消息驱动机制 介绍了编写Windows窗口程序的基本步骤 介绍一些Windows绘图基础知识 Win32应用编程 VC交流学习 作者:唐凯 Windows应用程序,操作系统,计算机硬件之间的相互关系 应用程序 操作系统 输入输出设备 消息队列 1 2 3 4 API 上面图中向下的箭头3表示应用程序可以通知操作系统执行某个具体的动作,例如控制声卡发出声音等,操作系统本身是不知道执行何种具体动作,需要由应用程序来通知操作系统具体的动作。那么应用程序应该如何通知操作系统执行某个功能的呢? API 大家都写过程序,相信大家都知道,在程序中实现某项功能的时候一般是通过函数调用实现的,那么同样的,应用程序也是通过函数调用的方式来通知操作系统执行相应的操作的。操作系统所能够完成的每一个功能都有一个函数与其相对应,

文档评论(0)

1亿VIP精品文档

相关文档