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改变坐标系的更多相关文章

  1. 【转】VC 隐藏模块、MFC 改变窗口类名

    [转]VC 隐藏模块 void HideDll() { HMODULE hMod = ::GetModuleHandle("MyHook.dll"); PLIST_ENTRY He ...

  2. 【MFC】MFC改变对话框中静态文本的字体大小

    MFC改变对话框中静态文本的字体大小 2010/08/09 11:30 VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体.对于你的问题,需要首先用CreateFont来建立一个 ...

  3. MFC 改变控件的大小和位置

    mfc 改变控件大小和位置用到的函数: ) void MoveWindow(int x, int y, int nWidth, int nHeight); ) void MoveWindow(LPCR ...

  4. MFC改变对话框背景颜色

    原文链接: http://blog.sina.com.cn/s/blog_59955afc0100spjz.html 方法一:调用CWinApp类的成员函数SetDialogBkColor来实现. - ...

  5. MFC改变控件颜色

    from http://www.cppblog.com/FandyM/archive/2010/07/21/120972.aspx MFC应用程序中,要改变控件的背景色可通过重载OnCtlColor( ...

  6. MFC 绘制坐标系

    主要讨论映射模式:MM_ANISOTROPIC,MM_ISOTROPIC.及相关方法的应用. 1,先建立一个MFC单文档,过程不再赘述. 2,在View类中找到CMainFrame::PreCreat ...

  7. C++ MFC 改变控件大小和位置

    用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置. void MoveWindow(int x,int y,int nWidth,int nHeight ...

  8. VS MFC 改变AfxMessageBox标题 AFX_IDS_APP_TITLE

    其实这个标题在资源String Table里就能找到,查找AFX_IDS_APP_TITLE,在这里你就能轻而易举的改变标题了. 注意:有的工程的资源String Table里面没有添加AFX_IDS ...

  9. Unity3D的几种坐标系

    原地址:http://www.cnblogs.com/martianzone/p/3371789.html http://www.cnblogs.com/88999660/archive/2013/0 ...

随机推荐

  1. springboot之Filter指定过滤URL的常见问题

    在使用Filter对一些自己指定的URL进行过滤拦截时,经常会出现如下错误: 1. 明明在@WebFilter(urlPatterns={"/app/online"})中过滤的是/ ...

  2. week05 codelab01 Babel ES6 webpack Nodejsserver等

    Babel 他出现的原因就是很多浏览器还未完全兼容ES6 需要将你写的ES6的内容转换成ES5让浏览器兼容运行 ES5和ES6相比出现很多新内容 比如拼接字符串 ES6可以` ` 里面如果引用变量就用 ...

  3. jquery中checkbox的选中,反选,全不选 注意1.6版本以上将attr改成prop

    <script type="text/javascript"> $(function () { // 全选 $("#btnCheckAll").bi ...

  4. Selenium Extent Report的设置

    Extent Report需要在线加载css,不然生成的html report会很难看. 但可以设置不在线加载css,而是使用本地css,在使用htmlreporter加上这句 htmlReporte ...

  5. Eclipse设置所有新创建文件默认格式为UTF-8

    一.为什么需要设置所有新创建文件默认格式为UTF-8 Eclipse编码默认是ISO-8859-1,不支持中文.而很多时候,我们的文件中含有中文,或者需要在创建文件时就需要是UTF-8编码格式的.在创 ...

  6. MySql数据库命令行操作说明

    MySql数据库操作说明 1.  使用电脑的运行cmd指令打开dos界面 2.  输入cd C:\Program Files\MySql\bin命令回车,进入mysqld目录 3.  输入mysql ...

  7. FileInputStream文件字节输入流程序

    第一种:.read() 一次读一个字节,返回值类型是int,方法读取硬盘访问次数太频繁.缺点:效率低,伤硬盘 import java.io.FileInputStream; import java.i ...

  8. java第四章接口

    接口(interface) 语法:修饰符 interface 接口名 extends 父接口1,父接口2....{ //常量定义   //方法定义} class 类名 extends 父类名 impl ...

  9. centos7修改系统语言

    编辑文件:vim /etc/locale.conf LANG="en_US.UTF-8"    ##表示为英文 LANG="zh_CN.UTF-8"    ## ...

  10. 【Spring学习】SpringMVC demo搭建

    前言:今天会通过IDEA建立一个SpringMVC的demo项目,在其中会涉及到一些基础模块和相关知识,然后结合这个具体的知识点,理解清楚SpringMVC的框架原理(以图的形式展示),顺藤摸瓜分析源 ...