VC中OoDraw()函数添加代码如下:void CBrushDemoView::OnDraw(CDC* pDC)
{
CBrushDemoDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CRect rect;
CBrush *pOldBrush; //保存系统原有画刷 ?? 没有赋值过程,怎么保存的? rect.SetRect(100,20,180,100); CBrush brush1(RGB(155,0,0));
pOldBrush = pDC->SelectObject(&brush1);
pDC->TextOut(15,20,"红色画刷");
pDC->Rectangle(rect);
rect.SetRect(100,120,180,200); CBrush brush2(RGB(0,255,0));
pDC->SelectObject(&brush2);
pDC->TextOut(15,120,"绿色画刷");
pDC->Rectangle(rect);
rect.SetRect(100,220,180,300); CBrush brush3(RGB(0,0,255));
pDC->SelectObject(&brush3);
pDC->TextOut(15,220,"蓝色画刷");
pDC->Rectangle(rect);
rect.SetRect(300,20,380,100); CBrush brush4(HS_BDIAGONAL,RGB(255,0,0));
pDC->SelectObject(&brush4);
pDC->TextOut(215,20,"剖 面 线");
pDC->Rectangle(rect);
rect.SetRect(300,120,380,200);
CBrush brush5(HS_CROSS,RGB(255,0,0));
pDC->SelectObject(&brush5);
pDC->TextOut(215,120,"网格线");
pDC->Rectangle(rect);
rect.SetRect(300,220,380,300); CBrush brush6(HS_DIAGCROSS,RGB(255,0,0));
pDC->SelectObject(&brush6);
pDC->TextOut(215,220,"45度网格线");
pDC->Rectangle(rect);
rect.SetRect(500,20,580,100); CBrush brush7(HS_FDIAGONAL,RGB(255,0,0));
pDC->SelectObject(&brush7);
pDC->TextOut(415,20,"剖面线");
pDC->TextOut(415,50,"(从左到右)");
pDC->Rectangle(rect);
rect.SetRect(500,120,580,200); CBrush brush8(HS_HORIZONTAL,RGB(255,0,0));
pDC->SelectObject(&brush8);
pDC->TextOut(415,120,"水平阴影线");
pDC->Rectangle(rect);
rect.SetRect(500,220,580,300); CBrush brush9(HS_VERTICAL,RGB(255,0,0));
pDC->SelectObject(&brush9);
pDC->TextOut(415,220,"垂直阴影线");
pDC->Rectangle(rect);
pDC->SelectObject(pOldBrush);
//开始 ,如果下面三行注释符去掉,结果垂直阴影线变空白了。怎么回事?
// pDC->TextOut(700,60,"nono");
// pDC->Rectangle(rect);
// rect.SetRect(710,60,790,140);
}问题写在注释中
{
CBrushDemoDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CRect rect;
CBrush *pOldBrush; //保存系统原有画刷 ?? 没有赋值过程,怎么保存的? rect.SetRect(100,20,180,100); CBrush brush1(RGB(155,0,0));
pOldBrush = pDC->SelectObject(&brush1);
pDC->TextOut(15,20,"红色画刷");
pDC->Rectangle(rect);
rect.SetRect(100,120,180,200); CBrush brush2(RGB(0,255,0));
pDC->SelectObject(&brush2);
pDC->TextOut(15,120,"绿色画刷");
pDC->Rectangle(rect);
rect.SetRect(100,220,180,300); CBrush brush3(RGB(0,0,255));
pDC->SelectObject(&brush3);
pDC->TextOut(15,220,"蓝色画刷");
pDC->Rectangle(rect);
rect.SetRect(300,20,380,100); CBrush brush4(HS_BDIAGONAL,RGB(255,0,0));
pDC->SelectObject(&brush4);
pDC->TextOut(215,20,"剖 面 线");
pDC->Rectangle(rect);
rect.SetRect(300,120,380,200);
CBrush brush5(HS_CROSS,RGB(255,0,0));
pDC->SelectObject(&brush5);
pDC->TextOut(215,120,"网格线");
pDC->Rectangle(rect);
rect.SetRect(300,220,380,300); CBrush brush6(HS_DIAGCROSS,RGB(255,0,0));
pDC->SelectObject(&brush6);
pDC->TextOut(215,220,"45度网格线");
pDC->Rectangle(rect);
rect.SetRect(500,20,580,100); CBrush brush7(HS_FDIAGONAL,RGB(255,0,0));
pDC->SelectObject(&brush7);
pDC->TextOut(415,20,"剖面线");
pDC->TextOut(415,50,"(从左到右)");
pDC->Rectangle(rect);
rect.SetRect(500,120,580,200); CBrush brush8(HS_HORIZONTAL,RGB(255,0,0));
pDC->SelectObject(&brush8);
pDC->TextOut(415,120,"水平阴影线");
pDC->Rectangle(rect);
rect.SetRect(500,220,580,300); CBrush brush9(HS_VERTICAL,RGB(255,0,0));
pDC->SelectObject(&brush9);
pDC->TextOut(415,220,"垂直阴影线");
pDC->Rectangle(rect);
pDC->SelectObject(pOldBrush);
//开始 ,如果下面三行注释符去掉,结果垂直阴影线变空白了。怎么回事?
// pDC->TextOut(700,60,"nono");
// pDC->Rectangle(rect);
// rect.SetRect(710,60,790,140);
}问题写在注释中
解决方案 »
- Teechart8 用于子线程时出问题
- 给对话框设置背景后,怎么让对话框中的按钮控件随着对话框大小的改变而移动?
- 如何在多文档的子窗口里加入对话框
- 发送消息的问题:用test按钮触发open命令
- 怎么对剪贴板的内容的进行读取和设置(所有的格式)?
- softice 在winme中如何安装
- 调试是不是在程序启动起来的时候就结束了,也就是说调试只能用来看程序的初始化过程吗?
- 那位仁兄身边有ICON的文件格式,可否mail一份给我?([email protected])
- 一个极简单的问题
- 3. CHouse类对运算符 >>重载,实现从流中获取房屋信息。 4. CBuilding类的ReadData通过调用CHouse类的运算符>>重载函数,实
- 换了工作 散点分
- (winsocket)中的accept函数接收客户端连接的问题..
SelectObject返回该设备环境中的原该类型 GDI OBJECT