学习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网络编程经络> ...
随机推荐
- html之间传递参数
转自:http://blog.163.com/yangzhanghui_job/blog/static/179575062201271624839972/ aa.html 往 bb.html 传参 a ...
- David Silver强化学习Lecture3:动态规划
课件:Lecture 3: Planning by Dynamic Programming 视频:David Silver强化学习第3课 - 动态规划(中文字幕) 动态规划 动态(Dynamic): ...
- Ajax的使用~~~整理
之前对于ajax没有详细的学习,只是碰到的时候,就记一点,不是很有条理.虽然常用的都会用,但真经不起询问,知其然而不知其所以然,所以专门看了一下<JavaScript高级程序设计>中对aj ...
- HDU 2075 A|B?
http://acm.hdu.edu.cn/showproblem.php?pid=2075 Problem Description 正整数A是否能被正整数B整除,不知道为什么xhd会研究这个问题,来 ...
- [同事转帖] .net core的服务器模式和工作站模式
发现自己的服务器上面的进程占用越来越厉害 所以就跟同事讨论了一下 性能组同事 说已经发现 并且给了一个 网址 这里转帖记录一下 避免以后找不到. .NET Core是一个开源通用的开发框架,具有跨平台 ...
- OneZero——Review报告会
1. 时间: 2016年4月20日. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http://www.cnb ...
- hive分区表
分区表创建 row format delimited fields terminated by ',';指明以逗号作为分隔符 依靠插入表创建分区表 从表sample_table选择 满足分区条件的 ...
- Django admin 一些有用的设置
Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的 ...
- GlusterFS 增删节点及改变复制份数
一.增加节点 1.需要主机添加到主机池中 gluster peer probe server3 gluster peer probe server4 2.查看状态 3.添加节点并复制2份(增加复制 ...
- QueryParser 是对一段话进行分词的 用于收集客户端发来的