windows程序设计(20):MFC绘图

先看程序:

void CMainWindow::OnPaint ()
{
    //在OnPaint函数中,只能使用CPaintDC
	CPaintDC dc (this);

    CRect rect;
    GetClientRect (&rect);

	dc.MoveTo(rect.left,rect.top);
	dc.LineTo(rect.right,rect.bottom);
	dc.MoveTo(rect.left,rect.bottom);
	dc.LineTo(rect.right,rect.top);

	dc.SetBkColor(RGB(192,192,192));//文字背景色
	CString str = "Hello, MFC";
    dc.DrawText (str, -1, &rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}

void CMainWindow::OnLButtonDown(UINT nFlags, CPoint point)
{
	//调试时非常方便
//	TRACE("当前坐标:x = %d, y = %d\n",point.x,point.y);
	CRect rect;
	GetClientRect(&rect);
	//画图需要拿到设备描述表
	CClientDC dc(this);
	//可以在构造函数中设定笔的类型
	CPen pen/*(PS_SOLID,100,RGB(255,0,0))*/;
	//也可以调用CreatePen设定
	pen.CreatePen(PS_SOLID,10,RGB(255,0,0));
	CPen* pOldPen= dc.SelectObject(&pen);
	//透明画刷
	dc.SelectStockObject(NULL_BRUSH);


	//设置映射模式
	//不考虑横纵坐标比
	dc.SetMapMode(MM_ANISOTROPIC);
	//逻辑坐标最大就
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 浙江大学面向对象程序设计大作业要求使用MFC(Microsoft Foundation Class)进行3D查看和编辑。MFC是一种基于C++的图形用户界面(GUI)框架,可以用于开发Windows平台上的应用程序。 首先,该大作业要求实现一个3D模型的查看功能。通过MFC的图形界面,用户可以加载和显示3D模型文件,并具备平移、缩放和旋转等操作功能,以便在屏幕上多角度查看模型。MFC提供了丰富的控件和图形绘制功能,可以轻松实现模型的展示效果。 其次,该大作业还要求实现3D模型的编辑功能。通过MFC的图形界面,用户可以对模型进行修改,比如移动顶点、添加新的面片等。MFC提供了与鼠标和键盘的交互接口,可以方便地捕捉用户的鼠标点击和按键操作,并对模型进行相关修改。 在实现过程中,可以使用现有的开源库或者自行编写3D渲染的算法。常用的开源库包括OpenGL和DirectX,它们提供了强大的3D图形处理功能,可以与MFC配合使用。对于初学者来说,可以先学习OpenGL或DirectX的基础知识,然后再结合MFC进行实际开发。 总之,浙江大学面向对象程序设计大作业要求使用MFC实现3D模型的查看和编辑功能。通过合理利用MFC的图形界面和交互功能,结合3D渲染算法或开源库,可以较为高效地完成这个大作业。这个大作业不仅可以提升学生的编程能力,还可以加深对面向对象编程和图形学的理解。 ### 回答2: 浙江大学面向对象程序设计c大作业是一个基于MFC的3D查看编辑程序。MFC(Microsoft Foundation Classes)是由微软开发的一套基于C++的应用程序框架,用于开发Windows平台的图形用户界面应用程序。 在这个大作业中,我们需要实现一个具有3D查看和编辑功能的程序。首先,我们需要设计一个用户友好的界面,通过MFC提供的工具和类库来创建各种界面元素,如按钮、菜单、工具栏等。 接下来,我们需要实现对3D模型的查看功能。通过使用OpenGL或其他类库,我们可以加载和显示3D模型,同时提供简单的操作,如旋转、缩放和平移。用户可以通过鼠标和键盘来控制模型的视角和观看效果。 除了查看功能,我们还需要实现对3D模型的编辑功能。用户可以选择不同的编辑工具,如绘制工具、修改工具和删除工具,来对模型进行操作。例如,用户可以使用绘制工具在模型上绘制新的形状,使用修改工具改变模型的几何形状,使用删除工具删除不需要的部分。 在实现这个大作业时,我们需要充分运用面向对象编程的思想和技巧。我们可以将3D模型和编辑工具抽象为对象,通过继承和多态来实现代码的复用和扩展性。我们还需要注意良好的代码结构和注释,以提高代码的可读性和维护性。 总之,浙江大学面向对象程序设计c大作业是一个基于MFC的3D查看编辑程序,需要我们设计和实现一个具有用户友好界面的程序,提供3D模型的查看和编辑功能。在完成这个大作业时,我们需要熟练使用MFC和相关类库,同时灵活运用面向对象编程的思想和技巧。 ### 回答3: 浙江大学面向对象程序设计c大作业要求使用MFC进行3D查看和编辑。MFC是微软公司提供的一个用于Windows应用程序开发的框架,可以快速实现Windows平台上的功能丰富的应用程序。在这个大作业中,我们需要使用MFC框架实现一个具备3D查看和编辑功能的应用。 首先,该应用程序需要能够加载和显示3D模型。我们可以选择使用第三方库,例如OpenGL、Direct3D等来进行3D模型的渲染和显示。通过MFC提供的窗口和控件,我们可以在应用程序的界面上创建一个用于显示3D模型的画布,并通过代码来实现3D模型的加载和渲染。 其次,该应用程序需要支持对3D模型进行编辑操作。我们可以通过MFC提供的各种控件和工具栏来设计一些常用的编辑功能,例如平移、旋转、缩放等。通过这些编辑功能,用户可以对3D模型进行变换和操作,实现查看不同角度和展示效果的目的。 另外,该应用程序还可以添加一些高级的编辑功能,例如添加材质、贴图、光照效果等。这些功能可以通过调用相关的第三方库或使用MFC自带的绘图函数来实现。通过添加这些高级功能,可以让用户对3D模型进行更加细致和个性化的编辑。 最后,通过使用MFC框架,我们可以方便地实现应用程序的用户界面设计和交互逻辑,并且可以充分利用MFC提供的丰富的控件和功能,能够快速地满足大作业的要求。通过合理的设计和实现,我们可以开发出一个功能完备、稳定可靠的MFC应用程序,实现3D模型的查看和编辑。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值