学习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, , , L"MM_TEXT", ); 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, , -, L"MM_LOMETRIC", );//10cm //MM_HIMETRIC x向右 y向上 单位0.01mm
SetMapMode(hdc, MM_HIENGLISH);
TextOut(hdc, , -, L"MM_HIMETRIC", );//1cm //恢复默认模式
SetMapMode(iOldMap);
EndPaint(hwnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage();
return ;
} return DefWindowProc(hwnd, message, wParam, lParam);
}
1. 注意无论映射模式是哪一种:所获得的信息都是以像素为单位的
2.客户区设备坐标是指客户区左上角,全窗口坐标是指窗口左上角(包括标题栏等getwindowsdc获取)
学习windows编程 day4 之 映射模式的更多相关文章
- 学习windows编程 day4 之视口和窗口
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...
- 学习windows编程 day4 之 自定义映射
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...
- 学习windows编程 day4 之 绘制随机矩形和peekMessage
#include <windows.h> #include <strsafe.h> LRESULT CALLBACK WndProc(HWND hwnd, UINT messa ...
- 学习windows编程 day4 之 盯裆猫
写着写着就困了.... 看这些测量数据就算了,是对各种函数的练习 #include <windows.h> LRESULT CALLBACK WndProc(HWND hwnd, UINT ...
- 学习windows编程 day4 之 多边矩形填充
#include <windows.h> #include <math.h> LRESULT CALLBACK WndProc(HWND hwnd, UINT message, ...
- 学习windows编程 day4 之 矩形的操作
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...
- 学习windows编程 day4 之 设置画刷
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...
- 有一定基础的 C++ 学习者该怎样学习 Windows 编程?
人的心理有个奇异的特性:一项知识一旦学会之后,学习过程中面临的困惑和不解非常快就会忘得干干净净,似乎一切都是自然而然,本来就该这种.因此,关于「怎样入门」这类问题,找顶尖高手来回答,未必能比一个刚入门 ...
- 我为什么学习Windows编程
前一段时间在看TCP/IP,在图书馆里面找了不少的书,其中有几本书还是不错的.比如: <Windows网络与通信程序设计(第二版)> 王艳平著 <WinSock网络编程经络> ...
随机推荐
- 阅读<构建之法>第10、11、12章
第10章 典型用户和场景 10.2 规格说明书 10.3 功能驱动的设计 问题:怎样写好spec?功能驱动设计的功能设计阶段怎样实现一个具体的功能? 第11章 软件设计与实现 11.2开发阶段的日常管 ...
- 【软件工程Ⅱ】作业二 |分布式版本控制系统Git的安装与使用
本次作业的要去来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 远程库地址:https://github.com/Mol ...
- 【软件工程Ⅱ】作业四 |个人项目-小学四则运算 “软件”之初版(C语言)
本次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186 本次作业代码的github地址:https://gith ...
- zookeeper安装和使用 windows环境(转)
原文地址: http://blog.csdn.net/tlk20071/article/details/52028945 简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是G ...
- Windows10下手工强制清理删掉安装版的JRE8导致java.exe无法运行的解决办法
error:could not open xxxx.jvm.cfg 参考:https://blog.csdn.net/u010102493/article/details/18425267 1.搜索并 ...
- MySQL分区和分表
一.概念 1.为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询 ...
- D3.js & Data Visualization & SVG
D3.js & Data Visualization & SVG https://davidwalsh.name/learning-d3 // import {scaleLinear} ...
- Delphi中根据分类数据生成树形结构的最优方法
一. 引言: TreeView控件适合于表示具有多层次关系的数据.它以简洁的界面,表现形式清晰.形象,操作简单而深受用户喜爱.而且用它可以实现ListView.ListBox所无法实现的很多功能 ...
- 【Mysql】—— MySQL存储引擎中的MyISAM和InnoDB区别详解
在使用MySQL的过程中对MyISAM和InnoDB这两个概念存在了些疑问,到底两者引擎有何分别一直是存在我心中的疑问.为了解开这个谜题,搜寻了网络,找到了如下信息: MyISAM是MySQL的默认数 ...
- matplotlib之scatter自动绘制散点
# 使用matplotlib.pyplot.scatter绘制散点 import matplotlib.pyplot as plt from pylab import mpl # 设置默认字体,解决中 ...