MFC改变坐标系
1.在MainFrm中的PreCreateWindow中设置默认窗口大小
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWndEx::PreCreateWindow(cs) )
return FALSE;
// TODO: 在此处通过修改
// CREATESTRUCT cs 来修改窗口类或样式
//设置默认窗口大小为400pixel*300pixel
cs.cx = ;
cs.cy = ;
return TRUE;
}
2.在View类中添加OnPaint()消息处理函数
void C透视投影View::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CView::OnPaint()
OnPrepareDC(&dc);
OnDraw(&dc);
CRect rc; //矩形结构
GetClientRect(&rc); //获得窗口库视区
int cx = rc.right;
int cy = rc.bottom;
dc.SetMapMode(MM_ISOTROPIC); //X=Y
dc.SetWindowExt(, ); //设置逻辑窗口,默认窗口原点为(0,0)
dc.SetViewportExt(cx, -cy); //定义输出视口,X右Y上为正
dc.SetViewportOrg(cx / , cy / );//定义视口原点为客户区中心
dc.Ellipse(-, , , -); //绘制椭圆与客户去外接的椭圆
//绘制水平垂直的四条半径
dc.MoveTo(, );
dc.LineTo(, );
dc.MoveTo(, );
dc.LineTo(, );
dc.MoveTo(, );
dc.LineTo(, -);
dc.MoveTo(, );
dc.LineTo(-, );
}
MM_ISOTROPIC:逻辑单位被映射为具有等刻度轴的任意单位,x轴上的一个单位被映射为
y轴上的一个单位。
SetWindowExt(int cx,int cy):cx表示水平方向逻辑坐标的范围
cy表示垂直方向逻辑坐标的范围
当改变窗口大小时,以窗口的宽度或高度较小的方向为标准
MFC改变坐标系的更多相关文章
- 【转】VC 隐藏模块、MFC 改变窗口类名
[转]VC 隐藏模块 void HideDll() { HMODULE hMod = ::GetModuleHandle("MyHook.dll"); PLIST_ENTRY He ...
- 【MFC】MFC改变对话框中静态文本的字体大小
MFC改变对话框中静态文本的字体大小 2010/08/09 11:30 VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体.对于你的问题,需要首先用CreateFont来建立一个 ...
- MFC 改变控件的大小和位置
mfc 改变控件大小和位置用到的函数: ) void MoveWindow(int x, int y, int nWidth, int nHeight); ) void MoveWindow(LPCR ...
- MFC改变对话框背景颜色
原文链接: http://blog.sina.com.cn/s/blog_59955afc0100spjz.html 方法一:调用CWinApp类的成员函数SetDialogBkColor来实现. - ...
- MFC改变控件颜色
from http://www.cppblog.com/FandyM/archive/2010/07/21/120972.aspx MFC应用程序中,要改变控件的背景色可通过重载OnCtlColor( ...
- MFC 绘制坐标系
主要讨论映射模式:MM_ANISOTROPIC,MM_ISOTROPIC.及相关方法的应用. 1,先建立一个MFC单文档,过程不再赘述. 2,在View类中找到CMainFrame::PreCreat ...
- C++ MFC 改变控件大小和位置
用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置. void MoveWindow(int x,int y,int nWidth,int nHeight ...
- VS MFC 改变AfxMessageBox标题 AFX_IDS_APP_TITLE
其实这个标题在资源String Table里就能找到,查找AFX_IDS_APP_TITLE,在这里你就能轻而易举的改变标题了. 注意:有的工程的资源String Table里面没有添加AFX_IDS ...
- Unity3D的几种坐标系
原地址:http://www.cnblogs.com/martianzone/p/3371789.html http://www.cnblogs.com/88999660/archive/2013/0 ...
随机推荐
- (转)php读取文件使用redis的pipeline导入大批量数据
第一次写博客,哈哈,纯属用来记录一下自己工作中遇到的问题及解决办法. 昨天因为工作的需求,需要做一个后台上传TXT文件,读取其中的内容,然后导入redis库中.要求速度快,并且支持至少10W以上的数据 ...
- es 服务器搭建
安装jdk,原系统安装的openjava 参考https://www.cnblogs.com/Dylansuns/p/6974272.html注意配置/etc/profile 时,要注意自己安装的是哪 ...
- ruby在index页面显示货币符号
1.显示人民币符号 <td><%= number_to_currency product.price, unit: "¥" %></td> 2. ...
- Code First 不自动生成数据库
工具--〉程序包管理器控制台 k1. 启用迁移: Enable-Migrations Enable-Migrations -ContextTypeName Mvc4WebSite.Models.Mvc ...
- 基于WebGL架构的3D可视化平台—实现小车行走路线演示
小车行走路线演示New VS Old 刚接触ThingJS的时候,写的一个小车开进小区的演示,今天又看了教程中有movePath这个方法就重新写了一遍,其中也遇到了一些问题,尤其突出的问题就是小车过弯 ...
- vue mock
如果后端不肯来帮你 mock 数据的话,前端自己来 mock 也是很简单的.你可以使用mock server 或者使用 mockjs + rap 也是很方便的. 不久前出的 easy-mock也相当的 ...
- Linux - 用户权限相关命令
用户权限相关命令 目标 用户 和 权限 的基本概念 用户管理 终端命令 组管理 终端命令 修改权限 终端命令 01. 用户 和 权限 的基本概念 1.1 基本概念 用户 是 Linux 系统工作中重要 ...
- 爬虫学习--MOOC爬取豆瓣top250
scrapy框架 scrapy是一套基于Twisted的异步处理框架,是纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松实现一个爬虫,用来抓取网页内容或者各种图片. scrapy E ...
- 【Android端】【日志收集上报SDK相关内容测试的方案梳理总结】
测试方案: 主要从几个方面关注,功能 性能 服务端策略(目前所有的这些上报收集等都会通过开关的精细化,通过接口方式将信息返回给APP端,APP端根据相关内容进行上报,因此基于此的上报机制及收集机制都需 ...
- odoo TransientModels must have log_access turned on