鼠标点一下,然后生成一以改点为中心,半径随意的一个园。
不要用dc中那个椭圆的功能完成。
不要用dc中那个椭圆的功能完成。
解决方案 »
- 窗体或对话框上什么属性可以让设计时控件的效果无法在运行时体现??
- 辞职 找新工作,散300
- 初始化COM类,在FinalConstruct与构造函数中初始化有何区别
- 这一句是做什么用的?
- CString型如何转换为整型
- 请问什么是死字符??
- 如何用 vc 向 http 服务器发送 get / post 请求?
- !!!!!!!太奇怪的问题了!!!!,求解!!!!
- vc如何调用vc编写的ocx的方法??调用的时候总是出现Debug Assertion Failed错误??是不是有什么设置??
- 求助 vc调用vlc开发网络视频流
- Window程序设计的文件问题
- CMFCToolBar::GetUserImages() //为什么要::去调用静态成员函数?
CPoint p((this->m_OriPoint.x+point.x)/2,(this->m_OriPoint.y+point.y)/2);
//找到中点
double length;
length =sqrt((point.x-m_OriPoint.x)*(point.x-m_OriPoint.x)
+(point.y-m_OriPoint.y)*(point.y-m_OriPoint.y));
//求出该线条的长度
CPoint p1,p2; p1.x=p.x-(long)(length*sqrt(2)/2);
p1.y=p.y-(long)(length*sqrt(2)/2);
p2.x=p.x+(long)(length*sqrt(2)/2);
p2.y=p.y+(long)(length*sqrt(2)/2);
//寻找左上角和右下角的点
dc->Ellipse(p1.x,p1.y,p2.x,p2.y);
break;
}这样还是不行。
CDC *pclsDc;
CPoint clsPoint(point); int iR; //半径
iR=30;
clsPoint.x+=iR;
clsPoint.y+=iR; point.x-=iR;
point.y-=iR; pclsDc=this->GetDC();
CRect clsRect(point, clsPoint);
pclsDc->Ellipse(clsRect);
CDialog::OnLButtonDblClk(nFlags, point);
{
// TODO: Add your message handler code here and/or call default
CDC *pclsDc;
CPoint clsPoint(point); CString str; int iR;
iR=30; pclsDc=this->GetDC();
pclsDc->SetPixel(point.x, point.y, RGB(0, 0, 0)); //圆心 pclsDc->SetPixel(point.x+30, point.y, RGB(0, 0, 0));
pclsDc->SetPixel(point.x-30, point.y, RGB(0, 0, 0)); for(int i=0; i<=iR; i++)
{ pclsDc->MoveTo(point.x+(i-1), point.y-sqrt(iR*iR-(i-1)*(i-1)) );// x^2+y^2=z^2,好像是直角三角形斜边长度的计算方法。
pclsDc->LineTo(point.x+i, point.y-sqrt(iR*iR-i*i) ); pclsDc->MoveTo(point.x+(i-1), point.y+sqrt(iR*iR-(i-1)*(i-1)) );
pclsDc->LineTo(point.x+i, point.y+sqrt(iR*iR-i*i) ); pclsDc->MoveTo(point.x-(i-1), point.y-sqrt(iR*iR-(i-1)*(i-1)) );
pclsDc->LineTo(point.x-i, point.y-sqrt(iR*iR-i*i) ); pclsDc->MoveTo(point.x-(i-1), point.y+sqrt(iR*iR-(i-1)*(i-1)) );
pclsDc->LineTo(point.x-i, point.y+sqrt(iR*iR-i*i) );
//Sleep(10);
}
//CDialog::On