Winndows程序设计(MFC)---设置对话框的笔粗及颜色

  • 添加按钮和编辑框

  • 修改编辑框和按钮的ID

  • 在CGraph.h文件中添加新变量:

int m_nPenWidth;
int m_Color;
  • 在CGraph.cpp文件中附初值:
CGraph::CGraph()
{
	m_nType = 0;
	m_nPenWidth = 1;
	m_Color = RGB(0, 0, 0);
}
  • 在CSet.h文件中添加与之对应的变量:
public:
	int nPenWidth;
	afx_msg void OnBnClickedColor();
	int m_Color;
  • 对按钮添加以值为标准的新的变量:
public:
	int nPenWidth;
	afx_msg void OnBnClickedColor();
	int m_Color;
  • 在CGraph.cpp文件中的Draw函数中实现换新功能:
CPen newPen;
newPen.CreatePen(PS_SOLID, m_nPenWidth, m_Color);
CPen* oldPen = pDC->SelectObject(&newPen);
  • 在View.cpp中的修正:
void CMy7View::OnSet()
{
	// TODO: 在此添加命令处理程序代码
	CSet set;
	if (set.DoModal() == IDOK) {
		m_Graph.m_nPenWidth=set.nPenWidth;
		m_Graph.m_Color = set.m_Color;
	}
}
  • 颜色按钮的特殊性在CSet.cpp中完成void OnBnClickedColor()函数的补充:
void CSet::OnBnClickedColor()
{
	// TODO: 在此添加控件通知处理程序代码
	CColorDialog m_setClrDlg;
	m_setClrDlg.m_cc.Flags |= CC_FULLOPEN | CC_RGBINIT;
	m_setClrDlg.m_cc.rgbResult = m_Color;
	if (m_setClrDlg.DoModal() == IDOK) {
		m_Color = m_setClrDlg.m_cc.rgbResult;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值