zoukankan      html  css  js  c++  java
  • 《Windows程序设计》笔记 —— Chapter Four

     1.WinMain进入循环之前,通常会有UpdateWindow来向窗口过程投放WM_PAINT消息。
             2.触发WM_PAINT消息的事件:之前隐藏的窗口部分重新可见;改变窗口的大小;ScrollWindow或ScrollDC滚动客户区;InvalidRect或者InvalidRgn显示产生WM_PAINT消息;而Validate则会将WM_PAINT取消掉。
             3.程序应该组织成可以保留绘制客户区需要的所有信息。
             4.客户区无效区域、有效区域的理解,处理WM_PAINT时,窗口过程可以通过GetUpdateRect获取无效区域的坐标。
             5.设备描述表总是与显示器上的特定窗口相关。
             6.WM_ERASEBKGND处理无效区域的擦除,并利用WNDCLASS.hbrbackground中的刷子属性填充无效区域。
             7.PAINTSTRUCT结构。
             8.InvalidateRect(hwnd,NULL,TRUE)使整个客户区无效,并擦除背景,如果最后一个参数位FALSE则不擦除背景。
             9.获取设备描述表的方法:
                                           1)  hdc = BeginPaint(hwnd,&ps);
                                                EndPaint(hwnd,&ps);    此方法仅在无效区域上画图
                                           2)  hdc = GetDC(hwnd);
                                                 ReleaseDC(hwnd,hdc);        此方法可在客户端任何区域上画图,且不会使无效变有效。
                                                 GetWindowDC,返回整个窗口的设备描述表,可修改窗口标题等。

  • 相关阅读:
    算法提高 道路和航路
    奇偶剪枝
    二分求值
    并查集--路径压缩
    Oracle数据库导入导出DMP文件
    Spring IoC的实现与思考(一)
    sql基础拾遗
    jquery事件函数的使用之focus
    Java动态代理之cglib
    Java se之动态代理
  • 原文地址:https://www.cnblogs.com/xyzlmn/p/3168273.html
Copyright © 2011-2022 走看看