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

📄 bginfos.cpp

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

#include "stdafx.h"
#include "GDraw.h"
#include "BgInfos.h"
#include"GDrawDoc.h"
#include"GDrawView.h"

#include"MainFrm.h"


// BgInfos

IMPLEMENT_DYNCREATE(BgInfos, CFormView)

BgInfos::BgInfos()
	: CFormView(BgInfos::IDD)
	, m_width(1024)
	, m_height(768)
	 ,color(RGB(255,255,255))
	 , m_x(0)
	 , m_y(0)
{
  
}

BgInfos::~BgInfos()
{
}

void BgInfos::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_WIDTH, m_width);
	DDV_MinMaxInt(pDX, m_width, 10, 2000);
	DDX_Text(pDX, IDC_HEIGHT, m_height);
	DDV_MinMaxInt(pDX, m_height, 10, 2000);
	DDX_Text(pDX, IDC_EDIT3, m_x);
	DDX_Text(pDX, IDC_EDIT4, m_y);
}

BEGIN_MESSAGE_MAP(BgInfos, CFormView)
	ON_BN_CLICKED(IDC_BG, &BgInfos::OnBnClickedBgInfos)
	ON_WM_PAINT()
	ON_BN_CLICKED(IDC_CHANGE, &BgInfos::OnBnClickedChange)
END_MESSAGE_MAP()


// BgInfos 诊断

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

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


// BgInfos 消息处理程序
void BgInfos::OnBnClickedBgInfos()
{
    CColorDialog ccd;
	COLORREF col;
	CMainFrame*   MainFrame = (CMainFrame*)AfxGetMainWnd();
    CGDrawView  *draw=(CGDrawView*)MainFrame->m_wndSplitter.GetPane(0,0);
	if(ccd.DoModal()==IDOK)
	{
		col=ccd.GetColor ();
	 //   color.SetFromCOLORREF (col);	
		color=col;
	   draw->bg_color=color;
	   draw->isset=TRUE;
	   
	}
	CWnd *pWnd=GetDlgItem (IDC_BG);
	CDC *pDC=pWnd->GetDC ();
	if( draw->isset)
		col=draw->bg_color;
	else
		col=color;
	pDC->FillRect (CRect(1,1,89,46),&CBrush(col));
	ReleaseDC(pDC);
     
	if(draw->isset)
	{

	 CDC*pdc=draw->GetDC();
	  CBrush backBrush(col);
      CBrush* pOldBrush = pdc->SelectObject(&backBrush);
      CRect rect;
      pdc->GetClipBox(&rect);   
      pdc->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(), PATCOPY);
      pdc->SelectObject(pOldBrush);
	  draw->ShowGraph(pdc);
	  ReleaseDC(pdc);
	}
      return ;

}
void BgInfos::OnPaint()
{
	CPaintDC dc(this); // device context for painting
	// TODO: 在此处添加消息处理程序代码
	// 不为绘图消息调用 CDialog::OnPaint()

	CWnd *pWnd=GetDlgItem (IDC_BG);
	CDC *pDC=pWnd->GetDC ();
	CMainFrame*   MainFrame = (CMainFrame*)AfxGetMainWnd();
	CGDrawView  *draw=(CGDrawView*)MainFrame->m_wndSplitter.GetPane(0,0);
	COLORREF col;
	if( draw->isset)
		col=draw->bg_color;
	else
		col=color;
	pDC->FillRect (CRect(1,1,89,46),&CBrush(col));
	ReleaseDC(pDC);

}

void BgInfos::OnBnClickedChange()
{
	// TODO: 在此添加控件通知处理程序代码
     UpdateData(true);

	 CMainFrame* MainFrm=(CMainFrame*)AfxGetMainWnd();
	 CGDrawView* draw=(CGDrawView*)MainFrm->m_wndSplitter.GetPane(0,0);
//	 CDC*pdc=draw->GetDC();
	// CRect rect(0,0,m_width,m_height);
	// pdc->FillRect(rect,&CBrush(RGB(30,50,60)));
//	 ReleaseDC(pdc);
     CSize   sizeTotal;   
	 sizeTotal.cx=m_width;
	 sizeTotal.cy=m_height;   
	 draw->width=m_width;
	 draw->height=m_height;
     draw->SetScrollSizes(MM_TEXT,sizeTotal);    
}

⌨️ 快捷键说明

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