⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 circlepro.cpp

📁 VS2005 MFC 实现的画图程序
💻 CPP
字号:
// CirclePro.cpp : 实现文件
//

#include "stdafx.h"
#include "GDraw.h"
#include"Graph_Union.h"
#include "CirclePro.h"
#include"MainFrm.h"

// CCirclePro

IMPLEMENT_DYNCREATE(CCirclePro, CFormView)

CCirclePro::CCirclePro()
	: CFormView(CCirclePro::IDD)
	, m_x(0)
	, m_y(0)
	, m_r(0)
	, m_size(0)
{

}

CCirclePro::~CCirclePro()
{
}

void CCirclePro::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_EDIT1, m_x);
	DDV_MinMaxInt(pDX, m_x, 0, 1025);
	DDX_Text(pDX, IDC_EDIT2, m_y);
	DDV_MinMaxInt(pDX, m_y, 0, 768);
	DDX_Text(pDX, IDC_EDIT5, m_r);
	DDV_MinMaxInt(pDX, m_r, 1, 1024);
	DDX_Text(pDX, IDC_EDIT6, m_size);
	DDV_MinMaxInt(pDX, m_size, 1, 1024);
}

BEGIN_MESSAGE_MAP(CCirclePro, CFormView)
	ON_WM_PAINT()
	ON_BN_CLICKED(IDC_CIRCLECOLOR,&CCirclePro::ONBNS)
	ON_BN_CLICKED(IDC_BUTTON1, &CCirclePro::OnBnClickedButton1)
	ON_BN_CLICKED(IDC_BUTTON2, &CCirclePro::OnBnClickedButton2)
END_MESSAGE_MAP()


// CCirclePro 诊断

#ifdef _DEBUG
void CCirclePro::AssertValid() const
{
	CFormView::AssertValid();
}

#ifndef _WIN32_WCE
void CCirclePro::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
#endif
#endif //_DEBUG


// CCirclePro 消息处理程序

void CCirclePro::OnPaint()
{
	CPaintDC dc(this); 
	CWnd *pWnd=GetDlgItem (IDC_CIRCLECOLOR);
	CDC *pDC=pWnd->GetDC ();
    CMainFrame*   MainFrame = (CMainFrame*)AfxGetMainWnd();
	CGDrawView  *draw=(CGDrawView*)MainFrame->m_wndSplitter.GetPane(0,0);
	color=draw->m_ptrGL->color;
	if( draw->select )
	{
		pDC->FillRect (CRect(2,2,96,51),&CBrush(draw->m_ptrGL->color));			
		SetDlgItemInt(IDC_EDIT1,draw->m_ptrGL->pp[0].x);
		SetDlgItemInt(IDC_EDIT2,draw->m_ptrGL->pp[0].y);
		SetDlgItemInt(IDC_EDIT5,draw->m_ptrGL->shape);	
		SetDlgItemInt(IDC_EDIT6,draw->m_ptrGL->wide);
	}
	else
		pDC->FillRect (CRect(2,2,96,51),&CBrush(color));
	ReleaseDC(pDC);
}
void CCirclePro::ONBNS()
{
  	CColorDialog ccd;
	COLORREF col;
	if(ccd.DoModal()==IDOK)
	{
		col=ccd.GetColor ();
	 //   color.SetFromCOLORREF (col);	
		color=col;
	}
	CWnd *pWnd=GetDlgItem (IDC_CIRCLECOLOR);
	CDC *pDC=pWnd->GetDC ();
	pDC->FillRect (CRect(2,2,96,51),&CBrush(color));
	pWnd->Invalidate ();
	ReleaseDC(pDC);

    CMainFrame*   MainFrame = (CMainFrame*)AfxGetMainWnd();
	CGDrawView  *draw=(CGDrawView*)MainFrame->m_wndSplitter.GetPane(0,0);
	if( draw->select )
	{
		draw->m_ptrGL->color=color;
	//	draw->drawcircle(draw->GetDC(),draw->m_ptrGL->pp[0].x,draw->m_ptrGL->pp[0].y,draw->m_ptrGL->shape,draw->m_ptrGL->color,draw->m_ptrGL->wide);
		draw->Invalidate();
	}
	draw->dline=0;
	draw->breakline=0;
}

void CCirclePro::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(true);
    CMainFrame*   MainFrame = (CMainFrame*)AfxGetMainWnd();
	CGDrawView  *draw=(CGDrawView*)MainFrame->m_wndSplitter.GetPane(0,0);
	if( draw->select )
	{
		draw->m_ptrGL->color=color;
		draw->m_ptrGL->pp[0].x=m_x;
		draw->m_ptrGL->pp[0].y=m_y;
		draw->m_ptrGL->shape=m_r;
		draw->m_ptrGL->wide=m_size;
	//	draw->drawcircle(draw->GetDC(),draw->m_ptrGL->pp[0].x,draw->m_ptrGL->pp[0].y,draw->m_ptrGL->shape,draw->m_ptrGL->color,draw->m_ptrGL->wide);
		draw->Invalidate();
	}
	draw->dline=0;
	draw->breakline=0;
}

void CCirclePro::OnBnClickedButton2()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(true);
    CMainFrame*   MainFrame = (CMainFrame*)AfxGetMainWnd();
	CGDrawView  *draw=(CGDrawView*)MainFrame->m_wndSplitter.GetPane(0,0);
//	Graph_Union  ps(draw->m_ptrGL->type,draw->m_ptrGL->count,draw->m_ptrGL->wide,draw->m_ptrGL->shape,draw->m_ptrGL->pp,draw->m_ptrGL->color,draw->m_ptrGL->fill_color);
	draw->m_ptrGL->type=-1;
	//draw->m_ptrGL->pp
	draw->m_ptrGL=NULL;
	draw->init();
	draw->OnSelectGraph();
	draw->Invalidate();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -