• windows编程之GDI基础--获取设备内容属性(三)


    在设备内容中,会保存设备的属性.比如画线的颜色,字体等等.基本上是下面这张表.程序可以任意更改和取得这些属性的值.

    设备内容属性

    默认值

    修改该值的函数

    取得该值的函数

    Mapping Mode

    MM_TEXT

    SetMapMode

    GetMapMode

    Window Origin

    (0, 0)

    SetWindowOrgEx

    OffsetWindowOrgEx

    GetWindowOrgEx

    Viewport Origin

    (0, 0)

    SetViewportOrgEx

    OffsetViewportOrgEx

    GetViewportOrgEx

    Window Extents

    (1, 1)

    SetWindowExtEx

    SetMapMode

    ScaleWindowExtEx

    GetWindowExtEx

    Viewport Extents

    (1, 1)

    SetViewportExtEx

    SetMapMode

    ScaleViewportExtEx

    GetViewportExtEx

    Pen

    BLACK_PEN

    SelectObject

    SelectObject

    Brush

    WHITE_BRUSH

    SelectObject

    SelectObject

    Font

    SYSTEM_FONT

    SelectObject

    SelectObject

    Bitmap

    None

    SelectObject

    SelectObject

    Current Position

    (0, 0)

    MoveToEx

    LineTo

    PolylineTo

    PolyBezierTo

    GetCurrentPositionEx

    Background Mode

    OPAQUE

    SetBkMode

    GetBkMode

    Background Color

    White

    SetBkColor

    GetBkColor

    Text Color

    Black

    SetTextColor

    GetTextColor

    Drawing Mode

    R2_COPYPEN

    SetROP2

    GetROP2

    Stretching Mode

    BLACKONWHITE

    SetStretchBltMode

    GetStretchBltMode

    Polygon Fill Mode

    ALTERNATE

    SetPolyFillMode

    GetPolyFillMode

    Intercharacter Spacing

    0

    SetTextCharacterExtra

    GetTextCharacterExtra

    Brush Origin

    (0, 0)

    SetBrushOrgEx

    GetBrushOrgEx

    Clipping Region

    None

    SelectObject

    SelectClipRgn

    IntersectClipRgn

    OffsetClipRgn

    ExcludeClipRect

    SelectClipPath

    GetClipBox

    在BeginPaint和EndPaint之间可以修改系统默认的属性,但是属性在EndPaint之后会失效.

    若不想让他失效的话.在wndclass.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;

    CS_OWNDC风格只影响GetDC和BeginPaint获得的设备内容,不影响其它函数(如GetWindowDC)获得的设备内容。

    不推荐使用这个宏.

    可以使用

    idSaved = SaveDC (hdc) ;
    RestoreDC (hdc, idSaved) ;
    //或者
    SaveDC (hdc) ;
    RestoreDC (hdc, -1) ;
  • 相关阅读:
    python: 第三方时间库 arrow
    PyQt5程序打包的2种方式
    python:多任务(线程、进程、协程)
    python:网络编程(udp 和 tcp)
    python:使用matplotlib画图时,中文乱码的问题
    python:浅拷贝和深拷贝
    使用scrapy编写爬虫:爬取豆瓣Top250读书的评论
    爬虫小案例:多协程工作
    selenium:指挥浏览器工作
    爬虫小案例:联想词汇搜索
  • 原文地址:https://www.cnblogs.com/SoulReaper/p/3323350.html
Copyright © 2020-2023  润新知