首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

基于对话框,CDC画图被遮盖有关问题,求指点

2013-07-08 
基于对话框,CDC画图被遮盖问题,求指点在OnInitDialog里,使用CBitmapButton 关联了一个按钮ID,并设置了图片

基于对话框,CDC画图被遮盖问题,求指点
在OnInitDialog里,使用CBitmapButton 关联了一个按钮ID,并设置了图片
然后在OnPaint函数里 我需要在这个按钮图片上再继续画一些我需要的东西


CDC MemDC;
MemDC.CreateCompatibleDC(pDC); //pDC
MemDC.SelectObject(&bmp);  // 这个bmp是我需要画的资源

pDC->BitBlt(x,y,16,16,&MemDC, xS, yS, SRCCOPY);
//如果X,Y坐标不在按钮所在范围,可以正常画出我需要的的东西
//但是我需要在CBitmapButton 的背景图上画  被遮盖了


请问这个问题如何解决?网上有的说因为先画的会被后画的覆盖
是不是真的是这个问题?
[解决办法]
从 CBitmapButton 派生一个类 在这个类的WM_PATIN中绘制
[解决办法]
你这样就想你说的会遮盖的,你贴图不要在Onpain或者Ondraw里面,在onerasebkgnd里面进行绘制位图,并在按钮按下去的时候调用Invalidate进行重绘
[解决办法]
CBitmapButton 创建一个派生类,编写OnDraw
[解决办法]
在OnPaint中先调用CBitmapButton::OnPaint();
然后再做自己的绘制

热点排行