c++图形编程(用MFC),如何将画出的两个相交的圆都显示出来,而不是重叠(如下图)隐藏了一条圆弧。 mfc c++如何利用文件-打开,依次打开多张图片,并使图片...

作者&投稿:竹雷 (若有异议请与网页底部的电邮联系)
只需要创建一个NULL画刷:
CClientDC pdc(this);

CBrush *OldBrush;
OldBrush=(CBrush*)pdc.SelectStockObject(NULL_BRUSH);//创建一个不填充的画刷

pdc.Ellipse(0,0,50,50); //画圆
。。。

pdc.SelectObject(OldBrush);

用 CDC::AngleArc 画圆弧

BOOLAngleArc(int x,int y,int nRadius,float fStartAngle,float fSweepAngle);
参数:圆心x, 圆心y, 圆的半径,起始角(0度),终角(360度)

颜色线型 用 Pen 设定。

MFC中绘两个重叠的圆的话上面的图就会被盖,即时圆内空白的地方,如何解决??~

设置背景模式为透明,
CDC::SetBkMode
int SetBkMode(
int nBkMode );
nBkMode可选参数:
OPAQUE这个是不透明,
TRANSPARENT这个是透明
补充:上面这个是文字的,我弄错了,画图形,你用空画刷就可以了

应该是在某一处使用同一个图片句柄加载多张图片导致的
if(!m_strPathName.IsEmpty ())
{
m_image.Load (m_strPathName );
}
从第二张开始,这个判断都可以进来,m_image还没有Detach就再次Load,可能就是崩溃在这里了

c++图形编程(用MFC),如何将画出的两个相交的圆都显示出来,而不是重叠...
答:只需要创建一个NULL画刷:CClientDC pdc(this);CBrush *OldBrush;OldBrush=(CBrush*)pdc.SelectStockObject(NULL_BRUSH);//创建一个不填充的画刷 pdc.Ellipse(0,0,50,50); //画圆 。。。pdc.SelectObject(OldBrush);

利用mfc编程来开发图形应用程序的基本步骤主要有几步
答:开发简单 MFC 应用程序的步骤主要有:1. 前期策划---确定应用程序要执行哪些基本任务。2. 新建项目---用VS新建MFC项目,设置初始属性。3. 界面设计---使用"对话框编辑器"设计界面:添加想要的对话框控件,设置它们的属性,然后精确调节它们的位置和大小以看起来更加美观。4. 设计实现---为控件添加...

MFC编写一个绘图程序
答:4.通过鼠标可以点中三角形、四边形、圆形、五边形,点中的图形可以停下运动,再点中图形可以继续运动5.对选中的图形,可以设置填充颜色,线条宽度6.Toolbar的图形按钮有相应的ToolTip7.画三角形、四边形、圆形、五边形采用采用图形和位图两种方式实现。位图实现不设置填充颜色,线条宽度8.采用面向对象编程(MFC) 展开  ...

用MFC如何高效地绘图
答:我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与绘图内容反差很大,这样在短时间内背景色与显示图形的交替出现,使得显示窗口看起来在闪。如果将背景刷设置成N...

怎样用MFC做一个图形界面程序
答:给你个最最简单的MFC程序。你可以打开2005 新建win32 程序 建立空项目 然后编写如下代码//hello.cpp include <afxwin.h> // 说明应用程序类 class CHelloApp : public CWinApp { public:virtual BOOL InitInstance();};// 建立应用程序类的实例 CHelloApp HelloApp;// 说明主窗口类 class CHello...

MFC编程用类向导添加消息ONMOUSEWHEEL消息,如何实现滚轮滚动可以放大缩 ...
答:(1)设一个该类的全局量 ds, 用于调整绘图比例。(2)OnMouseWheel 里:afx_msg BOOL OnMouseWheel( UINT nFlags, short zDelta, CPoint pt );zDelta 返回滚轮的当前移动值。向前转正,向后转负。自己建一个滚轮转动与ds的关系,例如正转120则 ds + 0.1 * zDelta / 120。(3)OnDraw ...

MFC编程ellipse()怎么画圆
答:画椭圆的本质就是在于消隐问题的解决以及对Windows消息循环机制的理解,消隐问题:因为MFC中有一个函数SetROP2,通过将该函数的参数设置为R2—NOT(当前绘制的像素值设为屏幕像素值的反色,这里面的“屏幕”二字是指你所绘制的图形所占据的那一部分屏幕区域,即直线所占的屏幕区域就是直线所在的那一段线的区域),利用这...

急:mfc编程,用C++写一个简易的计算器,有图形界面的..请求各位大虾给出详...
答:个人的程序步骤,参考下:1.新建一个对话框程序。2.添加计算器的各个按键及编辑框(用来显示输入和结果)3.为对话框添加一些变量:一个状态标志(计算加减乘除),一个标志(对运算两个数的哪个进行处理),两个double变量(用于运算的两个数),用类向导为编辑框绑定一个变量。定义一个计算函数(进行加减乘除...

VC++中 MFC 和 界面编程
答:所以微软开发了mfc基础类库 把大部分api包装到了类里面,以便使用.虽然也有其他的类库,在vc还是用mfc编程的比较广泛 而vs.net和之后的版本 都已经有了开发窗体应用程序的方法 这和以前vb6\delphi\c++builder等等 一样的窗体开发模式,建立图形界面比以前更方便还可以利用更多的功能 ...

如何在mfc中进行opengl编程初始化环境
答:1:新建一个MFC的工程,单文档的工程。2:工程建好之后,可以先编译运行一下。下面就是要把View的窗口初始化为OpenGL的编程环境。当然以下所有的操作都是在View类中进行的。先在Project->Settings->Link中,加上opengl32.lib glu32.lib glut.lib glaux.lib,然后在View.h的类定义中加上如下引用。inc...