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

📄 filset.cpp

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

#include "stdafx.h"
#include "GDraw.h"
#include "FilSet.h"


// FilSet 对话框

IMPLEMENT_DYNAMIC(FilSet, CDialog)

FilSet::FilSet(CWnd* pParent /*=NULL*/)
	: CDialog(FilSet::IDD, pParent)
	, ptx(0)
	, pty(0)
	, col(RGB(255,0,255))
	, col1(RGB(0,0,0))
	, i(0)
	, pcn(0)
{
	//col = RGB(0,0,0);
}

FilSet::~FilSet() 
{
}

void FilSet::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_INTPTX, ptx);
	DDV_MinMaxInt(pDX, ptx, -1000, 1000);
	DDX_Text(pDX, IDC_INPTY, pty);
	DDV_MinMaxInt(pDX, pty, -1000, 1000);
}


BEGIN_MESSAGE_MAP(FilSet, CDialog)
	ON_BN_CLICKED(IDC_FILSHOW1, &FilSet::OnBnClickedFilshow1)
	ON_BN_CLICKED(IDC_FILSHOW2, &FilSet::OnBnClickedFilshow2)
	ON_WM_PAINT()
	ON_BN_CLICKED(IDC_INPT, &FilSet::OnBnClickedInpt)
	ON_BN_CLICKED(IDC_DELPT, &FilSet::OnBnClickedDelpt)
	ON_LBN_SELCHANGE(IDC_LIST1, &FilSet::OnLbnSelchangeList1)
END_MESSAGE_MAP()


// FilSet 消息处理程序
void FilSet::OnBnClickedFilshow1()
{
	CColorDialog cd;
	CWnd *pWnd=GetDlgItem(IDC_FILSHOW1);
	CDC *pDC = pWnd->GetDC();
	if(cd.DoModal() == IDOK)
	{
		col = cd.GetColor();
	}
	pDC->FillRect(CRect(2,2,122,42),&CBrush(col));
	pWnd->Invalidate();
	ReleaseDC(pDC);
}

void FilSet::OnBnClickedFilshow2()
{
    CColorDialog cd;
	CWnd *pWnd=GetDlgItem(IDC_FILSHOW2);
	CDC *pDC = pWnd->GetDC();
	if(cd.DoModal() == IDOK)
	{
		col1 = cd.GetColor();
	}
	pDC->FillRect(CRect(2,2,122,42),&CBrush(col1));
	pWnd->Invalidate();
	ReleaseDC(pDC);
}

void FilSet::OnPaint()
{
	CPaintDC dc(this); // device context for painting
	// TODO: 在此处添加消息处理程序代码
	// 不为绘图消息调用 CDialog::OnPaint()
	CWnd *pWnd=GetDlgItem (IDC_FILSHOW1);
	CDC *pDC1 = pWnd->GetDC();
	pDC1->FillRect(CRect(2,2,122,42),&CBrush(col));
	ReleaseDC(pDC1);

	CWnd *pWnd2=GetDlgItem (IDC_FILSHOW2);
	CDC *pDC2 = pWnd2->GetDC();
	pDC2->FillRect(CRect(2,2,122,42),&CBrush(col1));
	ReleaseDC(pDC2);
}

BOOL FilSet::OnInitDialog()
{
	CDialog::OnInitDialog();

	// TODO:  在此添加额外的初始化

	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常: OCX 属性页应返回 FALSE
}

void FilSet::OnBnClickedInpt()
{
	// TODO: 在此添加控件通知处理程序代码
	CListBox* pLB;
	pLB = (CListBox*)GetDlgItem(IDC_LIST1);

	wchar_t buf[15];
//	CPoint *s
	wsprintf(buf, L"(%d,%d)", GetDlgItemInt(IDC_INTPTX), GetDlgItemInt(IDC_INPTY));
	pLB->AddString(buf);

	pc.push_back(CPoint(GetDlgItemInt(IDC_INTPTX),GetDlgItemInt(IDC_INPTY)));
	//ptc[i].x = ;
	//ptc[i].y = GetDlgItemInt(IDC_INPTY);
	i++;
}
// FilSet.cpp : 实现文件
//

void FilSet::OnBnClickedDelpt()
{
	// TODO: 在此添加控件通知处理程序代码
	CListBox* pLB;
	pLB = (CListBox*)GetDlgItem(IDC_LIST1);
	pLB->DeleteString(pcn);
	int ii;
	for(ii=0,w=pc.begin(); ii<pcn; ii++, w++){};
	pc.erase(w);
	i--;
	pcn = 0;
	pLB->SetCurSel(0);
}

void FilSet::OnLbnSelchangeList1()
{
	// TODO: 在此添加控件通知处理程序代码
	CListBox* pLB;
	pLB = (CListBox*)GetDlgItem(IDC_LIST1);
	pcn = pLB->GetCurSel();
	
}

#include "stdafx.h"
#include "GDraw.h"
#include "FilSet.h"


// CFilSet 对话框

IMPLEMENT_DYNAMIC(CFilSet, CDialog)

CFilSet::CFilSet(CWnd* pParent /*=NULL*/)
	: CDialog(CFilSet::IDD, pParent)
{

}

CFilSet::~CFilSet()
{
}

void CFilSet::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(CFilSet, CDialog)
END_MESSAGE_MAP()


// CFilSet 消息处理程序


⌨️ 快捷键说明

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