我的代码如下: COLORREF color1; CDC* pAdjCDC;
pAdjCDC=m_stc1.GetDC();//m_stc1为CStatic变量 CPen* pen1;
CBrush* brush1;
brush1=new CBrush(RGB(0,255,0)); pAdjCDC->SelectObject(brush1); pAdjCDC->Rectangle(0,40,80,90);
但我画出来的东西总是在CStatic控件的下面,不能显示用brush画出来的东西.请问如何才能让画笔画出来的图总是显示在CStatic控件的上面呢?
pAdjCDC=m_stc1.GetDC();//m_stc1为CStatic变量 CPen* pen1;
CBrush* brush1;
brush1=new CBrush(RGB(0,255,0)); pAdjCDC->SelectObject(brush1); pAdjCDC->Rectangle(0,40,80,90);
但我画出来的东西总是在CStatic控件的下面,不能显示用brush画出来的东西.请问如何才能让画笔画出来的图总是显示在CStatic控件的上面呢?
解决方案 »
- C++初学者,MFC编写标记菜单项时,VS2010 提示“ 0xC015000F: 正被停用的激活上下文不是最近激活的”
- 多线程搜索文件该怎么写
- ActiveX工程 使用 IWebBrowser2 指针 需要导入那个库
- 一个有利于保护视力的电脑颜色设置方案,您知道的话可以分享下您的经验,不知道的话可以试一下。另外请版主不要把帖子转到水区,我想和每一个整天面对电脑辛勤工作的朋友们共同分享。谢谢。
- 请教ACIS的问题?
- 求救
- 帮我看一下代码错在哪?
- 有关虚拟内存的问题?
- c++ primer
- GDI 图像处理问题
- 什么是"call back函式",能详细解释一下吗?
- 高分求代码,如何在DLL里写Socket客户端的接受和发送函数。
void CBox::OnPaint()
{
CPaintDC dc(this); // device context for painting
if(BkImage)
{
RECT rect;
CBitmap bmp;
bmp.LoadBitmap(BkImage); CBrush brush;
brush.CreatePatternBrush(&bmp);
CBrush* poldbrush=dc.SelectObject(&brush); CPen pen;
pen.CreatePen(PS_NULL,0,RGB(150,173,232));
CPen* poldpen=dc.SelectObject(&pen);
GetClientRect(&rect);
dc.Rectangle(&rect);
dc.SelectObject(poldpen);
dc.SelectObject(poldbrush);
}
// Do not call CStatic::OnPaint() for painting messages
}你可以通过设置BkImage来改变背景
May you succeed!
8过记得给分
ukyoking(东方不败)和nonocast的建议是对的,但当我想在这个控件上画第二个矩形(这个矩形比原来的小)时,为什么原来的矩形并不消失?