MFC基本绘图函数(1)

简单数据类型

Windows POINT,RECT,SIZE结构体封装:

typedef struct tagPOINT
{
    LONG x;
    LONG y;
}POINT,*PPOINT;

typedef struct tagSIZE
{   
    LONG cx;
    LONG cy;
}SIZE,*PSIZE;

typedef struct _RECT
{
    LONG left,right;
    LONG top,bottom;
}RECT,*PRECT;

(1)CPoint 类

CPoint(int initX,int initY);
CPoint(POINT initpt);

(2)CSize类

CSize(int initCX,int init CY);
CSize(SIZE initSize);

(3)CRect类

CRect(int l,int t,int r,int b);
CRect(const RECT& srcRect);//srcRect是一个RECT结构
CRect(LPCRECT lpSrcRect);//lpSrcRect是一个RECT结构指针
CRect(POINT point,SIZE size);//point是左上角
CRect(POINT topLeft,POINT bottomRight);

映射模式

设置窗口原点函数

CPoint SetWindowOrg(int x,int y);
CPoint SetWindowOrg(POINT point);

设置视区原点函数

virtual CPoint SetViewportOrg(int x,int y);
virtual CPoint SetViewportOrg(POINT point);

理解“窗口”、“视区”
根据“窗口”,“视区”的大小可以确定x方向和y 方向的比例
SetWindowExt(100,100);
SetViewportExt(200,200);
100X100逻辑坐标的正方形—>200X200像素的正方形

设置一个原点位于中心的二维坐标:

CRect rect;//声明对象
GetClientRect(&rect);//获得客户区大小??
//设置映射模式
pDC->SetMapMode(MM_ANISOTROPIC);
//设置窗口
pDC->SetWindowExt(rect.Width(),rect.Hieght());
//设置视区(共同确定映射比例因子)
//负号改变正方向
pDC->SetViewportExt(rect.Width(),-rect.Height());
//设置中心为原点
pDC->SetViewportOrg(rect.Width()/2,rect.Height()/2);
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值