博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC绘制棋盘格
阅读量:7201 次
发布时间:2019-06-29

本文共 1662 字,大约阅读时间需要 5 分钟。

(1)新建立一个MFC空白的基于视类的工程

(2)在View类中重写OnPaint消息

void CMy005View::OnPaint() {	CPaintDC dc(this); // device context for painting		// TODO: Add your message handler code here		// Do not call CView::OnPaint() for painting messages//客户区绘图	/*HDC hdc;	hdc=::GetDC(m_hWnd);    MoveToEx(hdc,0,0,NULL);	LineTo(hdc,200,200);	::ReleaseDC(m_hWnd,hdc);*/    CDC *pdc;	pdc=GetDC();	//绘制棋盘	 CPen pen(PS_SOLID, 2, RGB(0,0,0));	 CPen *pOldpen = pdc->SelectObject(&pen);//获取指针	 int Ox=100;	 int Oy=100;	 int numx=10;//行数	 int numy=10;//列数	 for(int i=0;i
MoveTo(Ox+30*i,Oy); pdc->LineTo(Ox+30*i,370); } for(int j=0;j
MoveTo(100,Oy+30*j); pdc->LineTo(370,Oy+30*j); } /*CDC::FillRect CBrush() Cbrush brush((RGB(255, 0, 0)); dc.FilllRect(Crect(m_point, point), &brush);*/ //颜色填充 CBrush brush1(m_color); for(int n=0;n
FillRect(rc,&brush1); } } CBrush brush2(RGB(0,0,255)); for(int p=1;p
FillRect(rc,&brush2); } } //绘制多边形 /*CPoint ps[6]={CPoint(300,200),CPoint(300,300),CPoint(320,350),CPoint(400,400),CPoint(400,250)}; pdc->Polygon(ps,4);*/ //客户区绘图 /*pdc->MoveTo(0,0); pdc->LineTo(200,100); ReleaseDC(pdc); //整个窗口绘图 CWindowDC dw(GetParent()); dw.MoveTo(0,0); dw.LineTo(CPoint(300,300)); //非客户区绘图 CClientDC du(GetParent()); du.MoveTo(0,0); du.LineTo(CPoint(30,200)); UpdateData(true);*/}

(3)如果想要在菜单中设置改变其中部分格子的颜色,可以在View类中添加一个COLORREF的数据成员

然后在新建的菜单的响应函数中添加下面的代码

CColorDialog cDlg;	if(cDlg.DoModal()==IDOK)	{		//LOGFONT logfont;       m_color=cDlg.GetColor();	   OnPaint();	}

 (4)运行后,出来的结果如下

原始的着色效果                改变颜色后的着色效果

 

参考代码:

1,pund,Basic-graphics, 2014.

 

转载地址:http://pmbum.baihongyu.com/

你可能感兴趣的文章
理解virtual dom的实现细节-snabbdom
查看>>
Vue二次封装axios为插件使用
查看>>
Electron-vue开发实战2——引入基于Lodash的JSON数据库lowdb
查看>>
事务隔离(一):ANSI SQL事务隔离级别,限制及扩展
查看>>
Fiddler的灵活使用
查看>>
苹果爆出新漏洞可被恶意APP利用记录用户键盘输入
查看>>
多线程面试题
查看>>
相信未来
查看>>
四道笔试题详解
查看>>
iOS10 语音播报填坑详解(解决串行播报中断问题)
查看>>
EditText禁止软件盘弹出,且不影响其它功能
查看>>
React Native 并没有死!
查看>>
Android:DataBinding的一二事
查看>>
第二十四章:SpringBoot项目整合JPA多数据源配置
查看>>
关于浏览器缓存,一次全部弄明白
查看>>
微信小程序中使用Iconfont
查看>>
vue模板语法
查看>>
阿里云新功能:EIP高精度实时互联网流量秒级监控
查看>>
FastDFS安装、配置、部署(一)
查看>>
矩阵的广义逆及python实践
查看>>