一、实验目的
1.掌握建立MFC应用程序的方法;
2.掌握映射模式。
二、实验内容
1.在MFC中绘制直尺,直尺需要有刻度,类似于日常学生使用的透明塑料直尺,需要建立四个直尺,分别分布在屏幕客户区的上、下、左、右四个边界。尺子需要有刻度,那客户区上端的尺子距离,应该有厘米、5毫米、1毫米刻度,刻度用竖线显示,长度分别为7毫米、6毫米、5毫米,外观类似于学生直尺,右端留出一公分,防止4个尺子碰在一起。
2.画出一坐标系,给出x坐标变化范围、y坐标变化范围,画出坐标轴,并在坐标轴上标出刻度、原点,要求坐标轴充满客户区。
三、实验步骤
(一)在MFC中绘制直尺。
1.设计思路:
(1)声明客户区矩形
(2)获得客户区坐标
(3)设置映射模式
(4)分四个方向画尺子,并且通过循环画出尺子刻度
注意:
映射模式选用的是MM_LOMETRIC,其对应的坐标系特征是:每个逻辑坐标被转换为0.1mm。正x向右,正y向上。
2.代码如下:
(1)声明客户区矩形并设置映射模式
void CRulerView::OnDraw(CDC*pDC)
{
CRulerDoc* pDoc =GetDocument();
ASSERT_VALID(pDoc);//TODO: add draw code for native data here
CRect rect; //声明客户区矩形
GetClientRect(&rect); //获得客户区坐标
pDC->SetMapMode(MM_LOMETRIC); //设置映射模式为:MM_LOMETRIC,即每个逻辑坐标被转换为0.1 mm。正x向右,正y向上。//设置实际的客户区窗口的长度和宽度范围
int height=rect.Height()*2.5;int width=rect.Width()*2.5;int i;
(2)画顶部的尺子
//top ruler 画顶部的尺子//先在最上部画一条直线,作为尺子的度量边缘,从上(/左)往下(/右)画