MFC 在DIALOG上绘制方格

就是在一个DIALOG上绘制一个20*12的矩形,怎么做啊?... 就是在一个DIALOG上绘制一个20*12的矩形,怎么做啊? 展开
 我来答
_baby小人_
2010-09-27 · TA获得超过253个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:252万
展开全部
最简单的是拖个Picture Control上去,Type设为Frame。如果要改变颜色可以将其跟一个CStatic绑定,然后重载OnCtlColor方法(WM_CTLCOLOR事件)

或者准备一张bmp格式矩形图片,拖Picture Control,Type设为Bitmap,image设为准备好的图片

如果要用GDI动态绘制的方式来做,可以使用CDC的LineTo方法和MoveTo方法绘制。e.g.
CPoint ptFrom, ptTo;
CClientDC dc(this); // 如果你放在OnPaint中,则此处应该是 CPaintDC dc(this);
CPen pnDraw(PS_SOLID, 1, RGB(0x66,0x66,0x66));
CPen* pnOld;

ptFrom.x = 5;
ptFrom.y = 5;
ptTo.x = 35;
ptTo.y = 5;
pnOld = dc.SelectObject(&pnDraw);
dc.MoveTo(ptFrom);
dc.LineTo(ptTo);
... //继续绘制
dc.SelectObject(pnOld);
pnDraw.DeleteObject();

用GDI的方式,为了显示性能(防止闪烁),可能还要考虑换成双缓冲
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式