WM_ANISOTROPIC用于根据窗口尺寸按比例自动调节画图的输出大小.坐标系原点位于窗口左上角,X轴正向向右,Y轴正向向下.当需要正向向中的Y轴时,使用SetWindowExt或SetViewportExt,并将参数中Y值取反.
SetWindowExt:设定窗口范围,以逻辑单位计算.
SetViewportExt:设定视口范围,以设备单位计算.
看到上面的内容我想问一下逻辑单位是多少毫米???
比如我有以下的设置
dc->SetMapMode(MM_ISOTROPIC);
dc->SetWindowExt(10000, 10000);
我想画1mm长的线应怎么画?
LineTo中应该多少?
SetWindowExt:设定窗口范围,以逻辑单位计算.
SetViewportExt:设定视口范围,以设备单位计算.
看到上面的内容我想问一下逻辑单位是多少毫米???
比如我有以下的设置
dc->SetMapMode(MM_ISOTROPIC);
dc->SetWindowExt(10000, 10000);
我想画1mm长的线应怎么画?
LineTo中应该多少?
解决方案 »
- 编译Apache源码出现:fatal error U1050: Unknown build mode "Win32"
- VC++调用MATLAB出现unhandled exception in ***.exe(KERNEL32.DLL):)*E06D7363:microsoft
- edit control中部分文字被标成红色
- vc如何获取图片EXIF信息?
- c++语法里的覆盖和隐藏都是把基类的函数不可见,那为什么还要区分覆盖和隐藏,有意义么??
- 有没有专门的函数快速实现往编辑框里添加字符串?SetWindowText只能设置字符串
- 我做了个起始屏,可是在运行的时候,有个窗口老是和起始屏一块出现,而且一闪而过,把它弄去啊??谢谢了各位大哥
- 新手:怎样才能用自己的CMyEdit替换标准的CEdit呢?
- 关于pdf读取并显示的问题
- 这条语句有什么错误?
- evc中双击事件无响应
- [DirectShow]如何创建这个Filter ?
RECT rt;
::GetClientRect(m_hWnd, &rt);
::SetMapMode(MM_ANISOTROPIC);
::SetWindowExtEx(hdc, 10000, 10000);
::SetViewportExtEx(hdc, rt.right, rt.bottom);画1mm长的横线
::MoveToEx(hdc, xPos, yPos, NULL);
::LineTo(hdc, xPos+1000, yPos);