zoukankan      html  css  js  c++  java
  • 学习windows编程 day4 之 映射模式

    LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
        HDC hdc;
        PAINTSTRUCT ps;
        RECT rect;
        int iOldMap;
        switch (message)
        {
        case WM_PAINT:
            hdc = BeginPaint(hwnd, &ps);
            GetClientRect(hwnd, &rect);
    //映射模式:改变xy轴方向,长度度量单位
            //默认MM_TEXT x向右  y向下 单位px
            TextOut(hdc, 100, 100, L"MM_TEXT", 7);
    
            iOldMap=GetMapMode(hdc);
    
    //改变映射模式 setmapmode
            //MM_LOMETRIC    x向右 y向上 单位0.1mm
            //MM_HIMETRIC     x向右 y向上 单位0.01mm
            //MM_LOENGLISH   x向右 y向上 单位0.01in
            //MM_HIENGLISH   x向右 y向上 单位0.001in
            //MM_TWIPS         x向右 y向上 单位1/1440in    1/20个打印点    少
            //MM_ISOTROPIC   x向右 y向上 任意x=y    可选    各向同性
            //MM_ANISOTROPIC x向右 y向上 任意x!=y    可选    各向异性
    
            //MM_LOMETRIC x向右 y向上 单位0.1mm
            SetMapMode(hdc, MM_LOMETRIC);
            TextOut(hdc, 1000, -1000, L"MM_LOMETRIC", 11);//10cm
    
            //MM_HIMETRIC     x向右 y向上 单位0.01mm
            SetMapMode(hdc, MM_HIENGLISH);
            TextOut(hdc, 1000, -1000, L"MM_HIMETRIC", 11);//1cm
    
            //恢复默认模式
            SetMapMode(iOldMap);
            EndPaint(hwnd, &ps);
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
        }
    
    
        return DefWindowProc(hwnd, message, wParam, lParam);
    }

    1. 注意无论映射模式是哪一种:所获得的信息都是以像素为单位的

    2.客户区设备坐标是指客户区左上角,全窗口坐标是指窗口左上角(包括标题栏等getwindowsdc获取)

  • 相关阅读:
    Vue.js_础学习之DOM操作
    node REPL
    node npm
    Vue.js_getter and setter
    tomcat+nginx+redis实现均衡负载以及session共享
    深入浅出微服务框架dubbo(一):基础篇
    Linux下安装zip解压功能
    Linux下查看CPU型号,内存大小,硬盘空间的命令
    Linux查看系统信息命令
    MyBatis自动生成代码之generatorConfig配置文件及其详细解读
  • 原文地址:https://www.cnblogs.com/ssyfj/p/8511131.html
Copyright © 2011-2022 走看看