友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

C语言实例教程(PDF格式)-第124章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






在调用SetViewportExt设置视口之前必须先调用SetWindowExt设置窗 

口。  


…………………………………………………………Page 589……………………………………………………………

函数SetWindowExt可以使用两个整型量作为其参数,也可以使用一个 

CSize对象作为其参数。它指定了窗口的横向度量和纵向度量。当所 

指定的横向度量为负值时,表示x轴的正方向向左;当所指定的纵向 

度量为负值时,表示y轴的正方向向上。  



同时还可以使用函数SetWindowOrg来设置窗口左上角对应的坐标。这 

样就可以实现坐标平面原点的平移。  



在设置了窗口之后,我们还需要调用SetViewportExt函数设置视口。  



函数SetViewportExt使用了与SetWindowExt相类似的参数。它们指定 

了视口的横向度量和纵向度量。类似的,我们还可以使用函数 

SetViewportOrg来设置视口的左上角的屏幕坐标。这里需要注意的 

是,在函数SetViewportExt和SetViewportOrg中所使用的参数的量值 

是以设备象素为单位的。  



上面所提到的这些函数都是CDC类的成员函数。  



下面所给的示例程序FuncGraphy输出一个函数'示例中是                    '的图 

象。为了方便起见,我们使用了自定义的坐标系统。在该坐标系统 

中,原点的窗口客户区中的中心,横坐标的范围为?31。006到 

31。006,在这个范围内恰好包括函数的一个完整的图象范围。其纵坐 

标的范围为1。2到 1。2。  

              ? 



为了节省篇幅,我们这里仅给出应用程序主窗口的OnPaint函数:  



// 应用程序主窗口的重绘函数  



void CMyWnd::OnPaint()  



{  



// 获得窗口的客户区设备上下文句柄  



CPaintDC dc(this);  



// 设置映射模式为 MM_ANISOTROPIC  



dc。SetMapMode(MM_ANISOTROPIC);  



// 设置窗口左上角的坐标为  



dc。SetWindowOrg(…31006; 1200);  



// 设置窗口度量  


…………………………………………………………Page 590……………………………………………………………

dc。SetWindowExt(int(2000*31。006); …2400);  



// 获得客户区矩形  



CRect rc;  



GetClientRect(rc);  



// 设置视口左上角的坐标  



dc。SetViewportOrg(0; 0);  



// 设置视口度量  



dc。SetViewportExt(rc。Width(); rc。Height());  



// 创建蓝色实线画笔  



CPen pen(PS_SOLID; 1; RGB(0; 0; 255)); *pOldPen;  



pOldPen=dc。SelectObject(&pen);  



// 创建蓝色斜线刷子  



CBrush br(HS_BDIAGONAL; RGB(0; 0; 255)); *pOldBrush;  



pOldBrush=dc。SelectObject(&br);  



// 开始一个路径  



dc。BeginPath();  



dc。MoveTo(…31006; 0);  



for (double x=…31。006; x
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!